CUBLAS API 7.5 now is supported by hipify;
API calls, which are not yet supported by hcblas/hipblas, are listed as HIP_UNSUPPORTED.
[ROCm/clr commit: ddf51d382c]
The differences from the similar scripts for hipify.pl:
1. CSV file with extended statistics is produced.
2. scripts' arguments are changed a bit:
DIRNAME [hipify options] [--] [clang options]
where -- is a delimiter; all the arguments are optional, except DIRNAME.
Usage example:
./hipexamine2.sh ./tmp -o-stats ./tmp/stats.csv -- -I/usr/local/cuda-7.5/include -I/usr/local/hipify-clang/hipblas/include 2>&1 | tee log
[ROCm/clr commit: f6aa3ddb0e]
+ REPLACED bytes, TOTAL bytes & CODE CHANGED are added to statistics.
+ -o-stats option for specifying the file with statistic.
[ROCm/clr commit: 52b3fb9f79]
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/53
+ Unsupported refs (by HIP) are now might be listed along with the supported ones.
+ Warnings are added for the unhandled (by HIPIFY) refs, for instance:
"warning: the following reference is not handled: 'cublasContext' [param decl ptr]."
+ Reflect unsupported CUDA API refs in statistics.
+ Occupancy API [HIP_UNSUPPORTED].
+ A few CUBLAS refs are listed as HIP_UNSUPPORTED.
TODO: Statistics in CSV file.
[ROCm/clr commit: ea8e886077]
- hipFunction_t is now returned by value. This eliminates dynamic
allocation / memory management complexity in the module. Removed
the kernel
name so the structure is just 16 bytes now.
- Moved the hsa_executable_load_module and hsa_executable_freeze
calls to the hipModuleLoad and hipModuleLoadData calls.
- Apply sharedMemBytes in hipModuleLaunchKernel to group segment
size (not private).
[ROCm/clr commit: 3f9404d0e1]
- modified Makefile for hipblas_saxpy to replaced hcblas.so with hipblas.so as part of HCSWAP-100
- Resolved missing separator issue in peer2peer cookbook Makefile
Change-Id: I678fea267eee1481f02da09379339ed78d3f95f2
[ROCm/clr commit: 73ce189c4d]
- modified Makefile for hipblas_saxpy to replaced hcblas.so with hipblas.so as part of HCSWAP-100
- Resolved missing separator issue in peer2peer cookbook Makefile
Change-Id: I678fea267eee1481f02da09379339ed78d3f95f2
[ROCm/clr commit: 8b0ce6e81b]
Actually output file is created by clang itself, but isn't updated and is deleted after processing.
In cooperation with -print-stat -no-output (or single -n) is used for examine the source CUDA code.
Conflicting options:
-inplce
-o
[ROCm/clr commit: f5deff4ba3]
Actually .cu and .cuda was supported.
+ All the file names are allowed, including file names without extension.
[IMPORTANT]
To hipify CUDA input file, which name is not *.cu, please add option "-x cuda" after tool's options ending marker "--", for instance:
./hipify-clang NeuralNet -- -x cuda
This option will go to clang itself, not the hipify tool.
[ROCm/clr commit: a81dfc5a0f]