Commit Graph
20 Commits
Author SHA1 Message Date
Evgeny Mankov 7d19c11a56 clang-hipify: add Replacement Excludes
Excludes are not replaced, for instance, CHECK_CUDA_ERROR and CUDA_SAFE_CALL.
Add check for excludes in MacroExpands and CallExpr routines.


[ROCm/clr commit: 5d04a17a44]
2016-07-01 19:58:14 +03:00
Evgeny Mankov 80026f4019 clang-hipify: fix typos and populate replacement rules
+ typos in cudaDeviceAttr and cudaDeviceAttr
+ Device Attribules are added
+ More error codes are added


[ROCm/clr commit: 53401727a8]
2016-06-29 20:32:05 +03:00
Evgeny Mankov ee53c355d1 clang-hipify: Array of elements of typedef type translation support.
Example: cudaStream_t streams[2]


[ROCm/clr commit: f19992760e]
2016-06-28 19:57:08 +03:00
Evgeny Mankov 96dd64f05b cublas to hipblas translation support in clang-hipify
+ CUBLAS V2 functions support
+ annotating, formatting


[ROCm/clr commit: ab2a7f436d]
2016-06-28 15:33:38 +03:00
Evgeny Mankov 48a624cb4c Initial cublas to hipblas translation support in clang-hipify.
To run clang-hipify with hipblas support please specify corresponding hipblas include directory, for example:

./hipify-clang --print-stats matrixMult.cpp.cuda -- -I/srv/git/HIP/HIP-Examples/hipblas/include

Additionally:
+ typedef translation support is added (cudaEvent_t and cudaStream_t are converted now).
+ anonymous typedef enum translation support.
+ function name macro expansion support.
+ clang options propagation is restored.
P.S. In order to avoid the following error message:
“Could not auto-detect compilation database for file "… .cu"
No compilation database found in /srv/git/HIP/build/clang-hipify or any parent directory
json-compilation-database: Error while opening JSON database: No such file or directory
Running without flags.”
please append “--“ to the end of clang-hipify’s command line.


[ROCm/clr commit: aa75bff6ee]
2016-06-22 19:15:03 +03:00
Evgeny Mankov 8e6e28df60 Attribute hipDeviceAttributeIsMultiGpuBoard for obtaining Device property isMultiGpuBoard is added.
On HIP path property obtaining done through hsa_iterate_agents and counting the devices of HSA_DEVICE_TYPE_GPU type.

P.S.
On multi-boards systems it might be problems with detection what board a GPU plugged into (not tested).


[ROCm/clr commit: 7bb0f17656]
2016-02-25 23:44:39 +03:00
Evgeny Mankov 9874e598f8 A support of the following device properties is added to legacy hipify.pl: hipDeviceAttributeConcurrentKernels, hipDeviceAttributeMemoryClockRate & hipDeviceAttributeMemoryBusWidth.
[ROCm/clr commit: 376fb0d8ad]
2016-02-19 13:36:37 +03:00
Evgeny Mankov c76791140d Guard #ifdef USE_ROCR_20 is added for ROCR_20 device properties (memoryClockRate, memoryBusWidth)
By default isn't defined.
To add ROCR_20 support HIP have to be compiled as follows: make CXX_DEFINES+=-DUSE_ROCR_20


[ROCm/clr commit: d4b15399f5]
2016-02-19 13:27:03 +03:00
Evgeny Mankov 420eea7379 Formatting, no functional changes.
[ROCm/clr commit: 14ec340746]
2016-02-18 18:54:19 +03:00
Evgeny Mankov a17733dd80 Device property memoryBusWidth implementation.
+ Device property memoryBusWidth is added to hipDeviceProp_t struct.
+ Device attribute hipDeviceAttributeMemoryBusWidth is added to hipDeviceAttribute_t struct.
+ Tests update.


[ROCm/clr commit: da8169dd89]
2016-02-18 18:15:01 +03:00
Evgeny Mankov a47073f25d Device property memoryClockRate implementation.
+ Device property memoryClockRate is added to hipDeviceProp_t struct.
+ Device attribute hipDeviceAttributeMemoryClockRate is added to hipDeviceAttribute_t struct.
+ Tests update.
+ Rename hipDevAttrConcurrentKernels to hipDeviceAttributeConcurrentKernels.


[ROCm/clr commit: 8aace64dce]
2016-02-18 17:25:28 +03:00
Evgeny Mankov 6812fa603f hipInfo sample update with new Device Properties.
[ROCm/clr commit: 859208d6f0]
2016-02-18 15:08:55 +03:00
Evgeny Mankov 3faa6fd86c Attribute hipDevAttrConcurrentKernels for obtaining Device property concurrentKernels is added.
[ROCm/clr commit: d4bd94e9a0]
2016-02-18 14:34:18 +03:00
Evgeny Mankov 979a875bb5 Formatting, no functional changes.
[ROCm/clr commit: 763aa5ea5a]
2016-02-15 13:16:05 +03:00
Evgeny Mankov 6add51ef8c Fix typo: maxThreadsPerMultiProcessor -> MaxSharedMemoryPerMultiprocessor
Device property MaxSharedMemoryPerMultiprocessor set equal to totalGlobalMem (HIP path).
Reason: MaxSharedMemoryPerMultiprocessor should be as the same as group memory size. Group memory will not be paged out, so, the physical memory size = total shared memory size = group region size. NVCC path remains untouched: CUDA's device property MaxSharedMemoryPerMultiprocessor is reported.

hipify is updated as well.


[ROCm/clr commit: 460b501cbb]
2016-02-12 01:29:20 +03:00
Evgeny Mankov 735d4738ad Device property maxThreadsPerMultiProcessor set equal to totalGlobalMem (HIP path).
Reason: maxThreadsPerMultiProcessor should be as the same as group memory size. Group memory will not be paged out, so, the physical memory size = total shared memory size = group region size.

NVCC path remains untouched: CUDA's device property maxThreadsPerMultiProcessor is reported.


[ROCm/clr commit: 1025341300]
2016-02-12 00:04:14 +03:00
Evgeny Mankov a8b7647f8b BDFID (BusID/DeviceID/FunctionID) support.
Except FunctionID (or DomainID in CUDA) support, because cudaDeviceProp::pciDomainID is not reported by CUDA.


[ROCm/clr commit: 658e9f0484]
2016-02-11 22:26:01 +03:00
Evgeny Mankov cedd1c0947 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
[ROCm/clr commit: 3139c72756]
2016-02-10 17:21:53 +03:00
Evgeny Mankov 2478fc078f Formatting, no functional changes
[ROCm/clr commit: d9a94191f2]
2016-02-10 17:21:18 +03:00
Evgeny Mankov 9f596e0aab Device property concurrentKernels is added to hipDeviceProp_t struct.
For HCC path concurrentKernels is set to true since all ROCR hardware supports this feature.
For NVCC path concurrentKernels is obtained from CUDA's device property cudaDeviceProp::concurrentKernels.


[ROCm/clr commit: 4d4ca3ef3f]
2016-02-09 17:10:35 +03:00