Skip to content

Commit 2368b17

Browse files
[arcane,main] Ajoute possibilité de changer la ressource mémoire des données via une variable d'environnement.
1 parent f5b888b commit 2368b17

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

arcane/src/arcane/accelerator/core/AcceleratorRuntimeInitialisationInfo.cc

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include "arcane/utils/ITraceMng.h"
1717
#include "arcane/utils/String.h"
1818
#include "arcane/utils/Property.h"
19+
#include "arcane/utils/MemoryUtils.h"
1920

2021
#include "arcane/accelerator/core/Runner.h"
2122
#include "arcane/accelerator/core/DeviceId.h"
@@ -175,6 +176,7 @@ arcaneInitializeRunner(Accelerator::Runner& runner,ITraceMng* tm,
175176
if (policy==eExecutionPolicy::None)
176177
ARCANE_FATAL("Invalid policy eExecutionPolicy::None");
177178
tm->info() << "AcceleratorRuntime=" << accelerator_runtime;
179+
tm->info() << "DefaultDataAllocator MemoryResource=" << MemoryUtils::getDefaultDataMemoryResource();
178180
if (impl::isAcceleratorPolicy(policy)){
179181
tm->info() << "Using accelerator runtime=" << policy << " device=" << acc_info.deviceId();
180182
runner.initialize(policy,acc_info.deviceId());

arcane/src/arcane/impl/ArcaneMain.cc

+9
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#include "arcane/utils/CommandLineArguments.h"
3636
#include "arcane/utils/ApplicationInfo.h"
3737
#include "arcane/utils/TestLogger.h"
38+
#include "arcane/utils/MemoryUtils.h"
3839
#include "arcane/utils/internal/MemoryUtilsInternal.h"
3940

4041
#include "arcane/core/ArcaneException.h"
@@ -1172,6 +1173,14 @@ _checkAutoDetectAccelerator(bool& has_accelerator)
11721173

11731174
(*my_functor)(runtime_info);
11741175
has_accelerator = true;
1176+
1177+
// Permet de surcharger le choix de l'allocateur des données
1178+
String data_allocator_str = Arcane::platform::getEnvironmentVariable("ARCANE_DEFAULT_DATA_MEMORY_RESOURCE");
1179+
if (!data_allocator_str.null()){
1180+
eMemoryResource v = MemoryUtils::getMemoryResourceFromName(data_allocator_str);
1181+
if (v!=eMemoryResource::Unknown)
1182+
MemoryUtils::setDefaultDataMemoryResource(v);
1183+
}
11751184
}
11761185
catch (const Exception& ex) {
11771186
return arcanePrintArcaneException(ex, nullptr);

0 commit comments

Comments
 (0)