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.Shared', False,
40 help='Whether or not to use "shared" memory for device '
41 'allocations. In case it is set to False, a separate '
42 'host and device memory resource is to be used.')
43
44
45 result.addFlag('Device.Copy.Async', True,
46 help='Whether or not to use asynchronous memory copies')
47
48
49 result.addFlag('Device.Backend', DeviceBackend.CUDA, type=DeviceBackend,
50 help='The backend to use for accelerator devices')
51
52
53 return result