27def createDeviceConfigFlags():
28 '''Function to create the flags for using accelerator devices in Athena
29 '''
30
31
32 result = AthConfigFlags()
33
34
35 result.addFlag('Device.Memory.Cache', True,
36 help='Whether or not to cache memory allocations')
37 result.addFlag('Device.Memory.Debug', False,
38 help='Whether or not to actively debug memory allocations')
39 result.addFlag('Device.Memory.Monitor', False,
40 help='Whether or not to monitor memory allocations')
41 result.addFlag('Device.Memory.Shared', False,
42 help='Whether or not to use "shared" memory for device '
43 'allocations. In case it is set to False, a separate '
44 'host and device memory resource is to be used.')
45
46
47 result.addFlag('Device.Copy.Async', True,
48 help='Whether or not to use asynchronous memory copies')
49
50
51 result.addFlag('Device.Backend', DeviceBackend.CUDA, type=DeviceBackend,
52 help='The backend to use for accelerator devices')
53
54
55 return result