Andrew Ho
dee699eede
switch to use the cuda runtime API for compatibility with MFEM_GPU_CHECK
2025-12-22 06:41:53 -08:00
Andrew Ho and Will Pazner
fc4f4fb5ed
Update general/device.cpp
...
Co-authored-by: Will Pazner <11493037+pazner@users.noreply.github.com >
2025-10-27 14:39:39 -07:00
Andrew Ho
b74f76bdc4
Added a way to get the GPU uuid
2025-10-27 13:32:49 -07:00
Andrew Ho
3276cb955f
Merge branch 'master' into dev-derefine
2025-07-01 15:33:44 -07:00
Veselin Dobrev
e20bb381ca
In Device::Print, show the GPU-aware MPI configuration only when MPI is
...
being used.
2025-06-26 08:26:20 -07:00
Tzanio Kolev
a99efcdb63
Merge branch 'master' into dev-derefine
2025-06-26 08:25:48 -07:00
Veselin Dobrev
4816fa0849
Added the option to enable GPU-aware MPI in MFEM using the environment
...
variable 'MFEM_GPU_AWARE_MPI' set to any value. Setting this environment
variable is an alternative to calling 'Device::SetGPUAwareMPI(true)'.
In Device::Print, show the GPU-aware MPI usage status when using a device
backend.
Update some unit tests to better handle failures.
2025-06-25 11:47:31 -07:00
John Camier
06c4da64af
Merge branch 'master' into hip-unit-tests
2025-06-18 10:22:55 -07:00
Andrew Ho
a8bbdf4fd4
Merge branch 'master' into hip-unit-tests
2025-06-02 11:33:00 -07:00
Hugh Carson
fdec992469
Merge branch 'master' into hughcars/ho-make-simplicial-dev
2025-05-27 17:40:43 -04:00
Andrew Ho
091c6272fc
Merge branch 'master' into dev-derefine
2025-05-27 11:57:28 -07:00
Hugh Carson
e494dc8255
Fix warning about missing (void*)
2025-05-20 12:11:31 -04:00
Veselin Dobrev
8c6c49bd1a
Fix preprocessor check
2025-05-18 20:44:44 -07:00
Veselin Dobrev
4987074377
Formatting and other small tweaks
2025-05-18 19:46:13 -07:00
Andrew Ho
ef9137bd1f
const correctness fix
2025-04-20 22:59:08 -07:00
Hugh Carson
aa06e17686
Merge branch 'master' into sjg/mfem-device-fixes
2025-04-15 14:01:21 -04:00
Andrew Ho
8fbfdb19fe
added general GPU and CUDA/HIP-specific unit tests
...
added gpu, raja-gpu, etc. for generic GPU device configuration
2025-03-24 13:23:43 -07:00
Tzanio Kolev
e4c2152419
Update Copyright to 2010-2025
2025-02-03 12:17:26 -08:00
Hugh Carson
6e4b512b41
Merge remote-tracking branch 'origin/master' into sjg/mfem-device-fixes
2025-01-21 14:57:17 -05:00
Andrew Ho
db323179f1
Merge branch 'master' into device_info
2025-01-09 14:41:57 -08:00
Andrew Ho
4983d81eb9
removed cuda < 10 since MFEM doesn't support this anyways
2025-01-09 14:40:08 -08:00
Andrew Ho
13b9e14526
Moved implementations to cpp file
...
removed host/device since this could lead to some ODR violations
2025-01-09 14:28:15 -08:00
Andrew Ho
6e1101f058
added helper functions for querying various device properties
2025-01-06 18:33:23 -08:00
Will Pazner
19a1750527
Rename getenv wrapper to GetEnv
...
Also use getenv wrapper in KernelReporter
2024-12-26 16:55:45 -08:00
Hugh Carson
dc162a194d
Merge branch 'master' into sjg/mfem-device-fixes
2024-12-13 15:45:59 -05:00
Andrew Ho
51a75893f7
Changes from Veselin
2024-12-09 08:21:57 -08:00
Andrew Ho
b3fff9267a
Moved Hypre::Finalize earlier in Device::~Device, only finalize HYPRE if it's been initialized.
...
Moving Hypre::Finalize earlier ensures that early return paths in
Device::~Device don't prevent Hypre::Finalize from executing.
2024-09-13 17:55:09 -07:00
Andrew Ho
c253f00ddc
Added ifdef guard for MFEM_USE_MPI
...
Hypre singleton doesn't exist otherwise
2024-09-13 12:16:54 -07:00
Andrew Ho
cd5a72fabe
Ensure that HYPRE is finalized inside the main function.
...
This fixes a bug where the Hypre singleton is currently cleaned up
after the main function returns, which causes errors with cleaning up
internal Cuda objects in HYPRE.
2024-09-13 11:52:06 -07:00
Sebastian Grimberg
2be6e5a074
Merge branch 'master' into sjg/mfem-device-fixes
2024-05-06 12:16:09 -07:00
Tom Stitt
9f86ac2feb
Adds Hypre::InitDevice and calls it from Device::Configure. By default configure HYPRE with the same policy as MFEM unless configure_hypre_runtime_policy_from_mfem is false
2024-04-12 16:26:29 -07:00
Sebastian Grimberg
cad2293df6
Merge branch 'master' into sjg/mfem-device-fixes
2024-03-07 15:24:09 -08:00
Sebastian Grimberg
c416ac9fff
Clean up mfem::Device to add a few docstrings and make CUDA/HIP device setup consistent
2024-01-29 10:47:13 -08:00
Sebastian Grimberg
48e6b88370
Remove unneeded mfem::Device::mode member
2024-01-29 10:46:41 -08:00
Sebastian Grimberg
a00d2610e3
Fix bug in mfem::Device when multiple device options are specified, for example cuda:uvm in addition to a libCEED backend option
2024-01-29 10:46:41 -08:00
Sebastian Grimberg
bc9e624ce8
Add mfem::Device::GetDeviceCount method to query number of available CUDA or HIP devices before initializing an mfem::Device
2024-01-29 10:46:41 -08:00
Tzanio Kolev
87290fbf56
Update Copyright to 2010-2024
2024-01-27 13:06:49 -08:00
Tzanio Kolev
96e00dc815
Updated COPYRIGHT to 2010-2023
2023-03-11 16:58:18 -08:00
Yohann Dudouit
5adc33c8a5
Reorganize libCEED integration.
2022-03-31 17:18:06 -07:00
Tzanio
6d2530775b
Extended copyright to 2022
2022-02-25 10:24:50 -08:00
camierjs
cfa82dccc0
In device.?pp, use device_id for shadowed variable and switch out to os
2022-01-11 11:09:12 -08:00
Stowell, Mark L
fa25a70da6
Fixing shadow variables in general classes
2021-12-23 16:21:31 -08:00
nbeams
e5e7974a34
Change setting of device num for HIP
2021-05-18 15:59:46 -04:00
Tzanio Kolev
11b3e0b4b5
Merge pull request #1644 from mfem/feature/tomstitt/temp-mem-type
...
Temporary Device Memory Type
2021-03-24 21:46:03 -07:00
Veselin Dobrev
ba47a9eb4e
Merge branch 'master' into feature/tomstitt/temp-mem-type
...
Resolved conflicts:
linalg/vector.hpp
2021-03-19 13:29:59 -07:00
Veselin Dobrev
4e8b78cd45
Fix the method Device::UpdateMemoryTypeAndClass() in the
...
case when Umpire support is enabled.
Fix invalid host access access in
tests/unit/general/test_umpire_mem.cpp
Update the CMake file in tests/unit to use all unit tests.
2021-03-18 22:49:31 -07:00
Veselin Dobrev
a59f06e9e3
Replaced the methods Device::SetHostMemoryType() and
...
Device::SetDeviceMemoryType() with the method
Device::SetMemoryTypes() which can be called only before
Device configuration.
Added methods MemoryManager::GetDualMemoryType() and
MemoryManager::SetDualMemoryType() where the latter can be
called only before MemoryManager::Configure().
Updated the Memory/MemoryManager implementation to use the
dual memory types instead of the default memory types.
Various other tweaks and fixes in the Memory/MemoryManager
implementation.
2021-03-18 18:48:22 -07:00
Tom Stitt
22ec73e780
Revert device.cpp changes and remove automatic use of Umpire if
...
MFEM_USE_UMPIRE
Fix build; building with Umpire & CUDA now
2021-02-25 14:56:05 -08:00
Andrew T. Barker
baacf4b38d
Merge remote-tracking branch 'origin/master' into ceed-merge
...
Initial attempt at merge; a lot is going to be wrong, exciting
2021-02-19 11:38:56 -08:00
Andrew T. Barker
e9ad0bd9c6
Begin overhauling Ceed error checking.
2021-02-12 16:25:36 -08:00