Commit Graph
433 Commits
Author SHA1 Message Date
John CamiercamierjsVladimir Z TomovMittal, Ketan <mittal3@llnl.gov>
50368046bc [TMOP] Simplify kernels (#3658)
* Simplify TMOP kernels, fix unit tests to run --all tests with adjusted tolerance

* make style

* Split TMOP h3s file with metrics

* TMOP kernel MFEM_HOST_DEVICE fix

* Cleanup TMOP CUDA kernels from base class

* Added TMOP PA metrics directory

* meld toward master

* [tmop] struct to class friends

* Simplify tmop file names

* make style

* Cleanup

* Style and vscode gitignore

* WIP resolve conflicts

* 2024 headers

* Tmop pass

* All tmop tests

* make style

* Add astyle to clang format

* make style

* Fix class visibility

* Include cleanup

* real_t pass

* style

* MFEM_REGISTER_KERNELS for TMOPAssembleGradPA_001

* make style

* add config files

* Update config

* metric_t

* wip with T

* wip

* wip T Specialization

* c++20, fmt make_format_args

* print types and values

* wip Kernel<decltype(M)>

* wip

* Working with metric_t, int, int

* C++20 ok

* C++17 cleaned

* Rename tmop files

* Sync TMOP kernels with dispatch

* make style

* Cleanup metrics

* Use TMOPKernel

* 3D metrics standalone

* Chdir assemble

* tmop 2d/3d directories

* TMOP assemble using specializations

* All TMOP kernel specializations

* MFEM_REPORT_KERNELS

* make style

* Sync with master

* Sync with master

* make style

* make style

* Removed 2d/3d TMOP sub-directories

* CMake TMOP file list update

* makefile directories order

* With style

* Re-enable vscode gitignore

* Fix merge conflicts

* make style

* Sync

* Meld toward master

* Changes toward master

* make style

* Meld back fem tmop files

* Fix TMOP_Integrator friends

* PA tests fix & history bump

* Cleanup test tmop and fix energy2 metric data

* Update copyright 2010-2025

* 2D energy metrics

* 3D energy metrics

* make style

* Simplify metric registration

* TMOP fem kernels with double buffering

* grad3, grad3_coef

* grad3_coef, grad3, mult3_coefs, mult3

* TMOP sm kernels tools

* Rename kernels smem and use regs

* Grad3 w/ vector reg grad

* Kernel register cleanup

* Add MAX_TMOP_1D and HIP tmop ctests

* Add kernels_foreach

* Add kernels foreach

* Prefix foreach_thread

* Kernels regs w/ foreach threads

* Swap Y and X in forward only

* Backward kernels_regs

* Use simplified grad3d

* Wip D1D Q1D

* Runtime D1D Q1D

* Remove T1D

* Cleanup

* AddKernelSpecializations

* Sync with SetMaxOf

* Rename to LoadDofs and use deduced templated parameters

* Grad2d & factorization

* Eval3d for grad3 coef

* Eval2d for grad2 coef

* Cleanup TMOP_SetupGradPA_C0_2D

* Use Bld and B

* Use other accessors

* TMOPAddMultPA3D

* TMOP_AddMultPA_C0_2D

* TMOP_AddMultGradPA_3D

* TMOP_AddMultGradPA_2D

* TMOP_AddMultGradPA_C0_3D

* AddMultGradPA_C0_2D

* TMOP_AssembleDiagonalPA_2D

* Wip TMOP_AssembleDiagonalPA_C0_3D

* TMOP_AssembleDiagonalPA_3D

* TMOP_MinDetJpr_3D

* TMOP_EnergyPA_C0_2D

* TMOPEnergyPA3D

* TMOP_TcIdealShapeGivenSize_3D

* TMOP_DatcSize_3D

* Remove MAX_TMOP_1D

* Remove smem kernels

* TMOP cleanup

* TMOP - solve for displacements #4694 changes

* Cleanup and move verifications

* Rename TMOP Assemble kernels

* Move kernel regs to TMOP pa

* make style

* Meld back toward master

* Meld back to master

* Use static constexpr

* Temporary branch-history

* Help msvc with namespaces

* MSVC inner static constexpr

* Move regs to mfem namespace

* MSVC all static constexpr

* TMOP_AssembleDiagPA_C0_3D w/o regs

* Avoid set but unused variable

* MSVC TMOP_AssembleDiagPA_C0_3D ternary test try

* MSVC MFEM_TMOP_REGISTER_MDQ_KERNEL

* Switch to MFEM_TMOP_MDQ_REGISTER

* MSVC help with static constexpr

* MSVC conversions try

* MSVC as_regs2d_ref

* MSVC Explicitly bind as reference

* MSCV with reinterpret_cast

* MSVC avoiding required l-values

* MSVC avoid explicit ref bindings

* MSVC avoid explicit ref bindings 2D

* Cleanup

* Enable MFEM_TMOP_PA_DEVICE with makefile

* TMOP tests w/o Kernel Specializations

* TMOP re-enable kernels specializations

* TMOP PA tests tolerances

* TMOP tests adjustments

* Fix transposed eval regs access

* MSVC remove not allowed dllimport definitions

* MSVC linalg vector warning fix

* MSVC avoiding definition of dllimport function not allowed

* Re-enable DetKernels specializations

* Sync latest TMOP changes

* TMOP PA tests normalization wip

* Sync TMOP tests

* Remove debug file

* Meld back toward master

* Add missing tmop make source dir

* tmop shadowing, CMake & make mpi tests

* TMOP periodic tests, shadowing fix

* TMOP pa mpi tests, fix shadowing

* TMOP tighten Square01 + Combo tests

* TMOP MSVC include ordering

* Revert TMOP MPI debug device tests

* Add TMOP_DatcSize_2D

* Use mfem::future for tensor

* Move TMOP PA specific kernels to sync'ed fem kernels

* makefile source dirs fix

* use explicit namespace to avoid clash (swap)

* Revert to MFEM_FOREACH_THREAD
Use scalar/vector regs types

* Sync kernels

* Sync kernels

* Avoid applying non-zero offset to null pointer runtime error

* Remove debug include

* TMOP rename coef to limit

* Comments.

* minor

* changelog

* Replace TMOP's MFEM_FOREACH_THREAD with MFEM_FOREACH_THREAD_DIRECT

* add some missing metric IDs

* Revert branch-history

* Add missing MFEM_SYNC_THREAD in kernels
Verify TMOP isfinite energy

* UseDevice for local vectors

* make style

* No grids in TMOP_DatcSize kernels

* Remove isfinite assertions
Cleanup unused header files
Add 3D energy finite verifications

* Filter out TMOP PA tests

---------

Co-authored-by: camierjs <camierjs@Io>
Co-authored-by: Vladimir Z Tomov <tomov2@llnl.gov>
Co-authored-by: Mittal, Ketan <mittal3@llnl.gov>
2025-11-13 08:47:32 -08:00
Mittal, Ketan 2b962e18a6 Merge branch 'master' of https://github.com/mfem/mfem into tmop-ad-wcuo 2025-05-29 11:50:52 -07:00
Mittal, Ketan 3f81c6ca26 minor fix for combomet case 2025-04-30 10:07:45 -07:00
Mittal, Ketan 73313bb44d remove some duplication 2025-04-28 17:07:03 -07:00
Vladimir Z Tomov 6ae95a8c1f minor 2025-04-23 17:56:54 -07:00
Vladimir Z Tomov 9bb600a87c Kernels for ComputeBalancedWeights in combo metrics. 2025-04-23 17:51:27 -07:00
Vladimir Z Tomov 9dbf656433 PA kernels for EnableNormalization. 2025-04-23 15:08:04 -07:00
Vladimir Z Tomov 7b083081dc Option IntRule to ComputeBalancedWeights(). 2025-04-19 23:01:54 -07:00
Vladimir Z Tomov 31c50b0df8 Aded periodic-tri.mesh. 2025-03-24 12:35:18 -07:00
Vladimir Z Tomov 6bef88f661 Allow NodalFiniteElements in ElementRestriction. 2025-03-24 11:14:16 -07:00
Vladimir Z Tomov 26f4d3927c Changes in mesh-optimizer.cpp.
Fixed a bug in serial + PA + CG advector.
2025-03-14 17:28:03 -07:00
Vladimir Z Tomov c604c9a098 renamed d -> dx 2025-03-12 18:03:04 -07:00
Vladimir Z Tomov 6210ea712d changed some L2-H1p transitions. 2025-03-12 16:35:00 -07:00
Vladimir Z Tomov 98ae71ab6d Updated PA.XO in AssemblePA 2025-03-12 11:40:31 -07:00
Vladimir Z Tomov 63b141992d minor 2025-03-12 09:28:38 -07:00
Vladimir Z Tomov e46c3929d1 periodic sample runs and 3D mesh. 2025-03-11 16:01:53 -07:00
Vladimir Z Tomov 53c1a9de7d Periodic PA. 2025-03-10 10:55:45 -07:00
Vladimir Z Tomov 92fa66c5d4 restored HR-adapt and FD for non-periodic. 2025-02-26 16:02:34 -08:00
Vladimir Z Tomov 012036d007 Periodic limiting. 2025-02-21 17:35:58 -08:00
Vladimir Z Tomov 8f42d760fc initial working version for periodic meshes. 2025-02-20 22:38:38 -08:00
Vladimir Z Tomov 7275a2fbab Merge branch 'master' into tmop-delta 2025-02-11 15:59:16 -08:00
Vladimir Z Tomov e55d0882c3 Reverted testing code. 2025-02-11 15:52:22 -08:00
Vladimir Z Tomov 34fb676fd5 reverted testing code. 2025-02-11 15:42:33 -08:00
Vladimir Z Tomov a3cf3f4bb2 Full support for solving displacements, including PA, with old interface. 2025-02-11 09:31:51 -08:00
Vladimir Z Tomov df47dd65c1 TMOP_Integrator defined w.r.t. displacements. 2025-02-08 09:32:41 -08:00
Vladimir Z Tomov 10c6c8ad22 Simpler computation of x_loc. 2025-02-05 14:35:14 -08:00
Tzanio Kolev e4c2152419 Update Copyright to 2010-2025 2025-02-03 12:17:26 -08:00
Vladimir Z Tomov 6932e2038f changelog, changed a sample run. 2025-01-08 18:13:44 -08:00
Vladimir Z Tomov 15accf0271 minor 2025-01-08 12:47:35 -08:00
Ketan Mittal 7fe2ba5e92 Merge branch 'master' into TMOP_AD_ms 2025-01-08 10:34:31 -08:00
Mittal, Ketan e3e0eccc86 remove fd-based sample runs 2025-01-06 14:39:56 -08:00
Will Pazner 6ddea3ff47 Merge remote-tracking branch 'origin/master' into pa-empty-partitions 2025-01-03 09:36:06 -08:00
Mittal, Ketan dc241f8298 reviewer comments 2025-01-02 15:49:26 -08:00
Vladimir Z Tomov 900385e06d minor 2024-12-28 20:45:52 -08:00
Vladimir Z Tomov 678d44a01e Merge branch 'master' into TMOP_AD_ms 2024-12-28 20:19:36 -08:00
Vladimir Z Tomov c992bd681c minor 2024-12-05 23:13:44 -08:00
Mittal, Ketan 6d288efd68 merge with master and resolve conflicts 2024-12-05 12:00:12 -08:00
Mittal, Ketan 04c43fa7b9 Merge branch 'master' of https://github.com/mfem/mfem into gslib-findpts-device-vol 2024-12-03 11:40:25 -08:00
Mittal, Ketan b96db37ab8 set discrete field order to 1 2024-12-03 11:29:23 -08:00
Mittal, Ketan 54982a700a merge with master and resolve conflicts 2024-12-02 13:03:51 -08:00
Vladimir Z Tomov d4da37d89a FD assume mesh_order = field_order for discrete adaptivity. 2024-11-29 00:40:07 -08:00
Vladimir Z Tomov 982583068a Renamed some things, references instead of copies. 2024-11-27 17:49:19 -08:00
Mittal, Ketan d7e8d78ca4 Merge branch 'tmop-ae-space' of https://github.com/mfem/mfem into tmop-ae-space 2024-11-25 17:02:56 -08:00
Mittal, Ketan bbc37c5236 make style and test in mesh-optimizer as well 2024-11-25 17:02:39 -08:00
Ketan Mittal 4ca2e5cef2 Merge branch 'master' into tmop-ae-space 2024-11-25 17:00:03 -08:00
Mittal, Ketan c09c15c0b2 add check for adaptive limiting 2024-11-25 16:59:50 -08:00
Mittal, Ketan d6d3e30832 make style 2024-11-25 15:20:23 -08:00
Mittal, Ketan 9129e51b86 fix to make any vdim work 2024-11-25 15:20:02 -08:00
Mittal, Ketan 873a6aa84c fix advectorCG and interpolatorFP for fields of different order 2024-11-22 17:19:09 -08:00
Will Pazner 2ac825abe8 Merge remote-tracking branch 'origin/master' into pa-empty-partitions
# Conflicts:
#	fem/bilininteg.cpp
#	fem/quadinterpolator.cpp
2024-11-22 11:05:49 -08:00