Commit Graph

224 Commits

Author SHA1 Message Date
Michael Kuron a38366c81e Implement hipGetSymbolAddress and hipGetSymbolSize
[ROCm/clr commit: 0b6f5791f8]
2018-11-04 10:39:34 +01:00
Evgeny Mankov 77835ded3f [HIPIFY][doc] Update README.md
+ Split Linux and Windows sections
+ Rewrite Testing section


[ROCm/clr commit: 83d1b50615]
2018-11-01 19:11:40 +03:00
Evgeny Mankov 7b244965b6 [HIPIFY][fix] Fix typo and functions' string arguments
+ Fix typo with missing comma in counterNames array
+ Change std::string argument to const std::string& argument in all functions


[ROCm/clr commit: 48abb4a36b]
2018-11-01 16:57:57 +03:00
Evgeny Mankov 24bd6d2925 [HIPIFY][fix][#739] Fix garbage after replacements
[Issue] https://github.com/ROCm-Developer-Tools/HIP/issues/739
[Resolution] Always use an std::string not a clang::StringRef for replacement

P.S. Occurred only on Linux, on Windows works fine.


[ROCm/clr commit: 2ab8e92195]
2018-10-30 19:35:59 +03:00
Evgeny Mankov 4ae4f1073f [HIPIFY][fix] Return back cudaDeviceProp's struct field warpSize to hipWarpSize mapping.
[ROCm/clr commit: 3489fe9ca1]
2018-10-30 15:53:00 +03:00
Evgeny Mankov 8c98204b9c [HIPIFY] Modify HIP types to conform to CUDA's ones
[ROCm/clr commit: 2af2827a05]
2018-10-29 20:51:25 +03:00
Evgeny Mankov 4e7e8b7704 [HIPIFY] CUDA Runtime API data types total revise
+ for all CUDA versions up to 10.0
+ add missing types
+ fix typos
+ sync with HIP
+ sync with CUDA Driver API
+ update CUDA_Runtime_API_functions_supported_by_HIP.md
+ update CUDA Driver API map accordingly
+ update CUDA_Driver_API_functions_supported_by_HIP.md
+ formatting, annotating


[ROCm/clr commit: 41bc184e90]
2018-10-29 17:13:00 +03:00
Evgeny Mankov 8c3f9ebac6 [HIPIFY][doc] Readme update
Clang 7.0.0 release has a known bug https://bugs.llvm.org/show_bug.cgi?id=36384, thus 7.0.0 is unstable release for Linux and Windows.
Last stable and tested LLVM+Clang release is 6.0.1.


[ROCm/clr commit: 5ab9c4bbca]
2018-10-26 15:01:58 +03:00
Evgeny Mankov 587ba6f1d4 [HIPIFY][cmake][fix] Mark all target_link_libraries with PRIVATE keyword
[Reason]
Avoid cmake error occurred when mixing signatures with AddLLVM.cmake

[Error]
CMake Error at CMakeLists.txt:26 (target_link_libraries): The keyword signature for target_link_libraries has already been used with the target "hipify-clang".
All uses of target_link_libraries with a target must be either all-keyword or all-plain.

Error occurred only on Linux and LLVM 7.0.0


[ROCm/clr commit: b244d1fc99]
2018-10-25 17:09:18 +03:00
Evgeny Mankov 26509d1f68 [HIPIFY] Split CUDA2HIP map into a number of maps based on API type
[Reasons]
+ Simplify the support
+ Optimize compilation and code generation time

[Additionally]
+ Update minimum required version of cmake
+ Fix MSVC compile options force update


[ROCm/clr commit: 75972cb51d]
2018-10-23 00:00:10 +03:00
Evgeny Mankov ff564c763c [HIPIFY] CUDA Driver API data types total revise
+ for all CUDA versions
+ add missing types
+ fix typos
+ sync with HIP
+ update CUDA_Driver_API_functions_supported_by_HIP.md
+ formatting, annotating


[ROCm/clr commit: 865c6f23c7]
2018-10-18 18:50:24 +03:00
Evgeny Mankov a533379e12 [HIPIFY] Code cleanup and formatting
[ROCm/clr commit: 9a1a511c84]
2018-10-15 15:27:37 +03:00
Evgeny Mankov a89c112545 [HIPIFY] CUDA 10.0 Driver API initial support
[ROCm/clr commit: cb4eb94174]
2018-10-03 20:29:22 +03:00
Evgeny Mankov 821b36d636 [HIPIFY][cmake] CUDA 10.0 is not supported.
[ROCm/clr commit: 4e7b330037]
2018-09-27 19:05:22 +03:00
Evgeny Mankov e9acd2671d [HIPIFY][docs] Fix typos in Readme.md
[ROCm/clr commit: 6056686796]
2018-09-26 17:26:25 +03:00
Evgeny Mankov a4c3741ec7 Merge pull request #690 from emankov/hipBLAS
[HIPIFY][doc] Update README.md due to new LLVM 7.0.0 and CUDA 10.0 re…

[ROCm/clr commit: e879118d87]
2018-09-26 17:05:47 +03:00
Evgeny Mankov 298ca9b3cd [HIPIFY][doc] Update README.md due to new LLVM 7.0.0 and CUDA 10.0 releases.
[ROCm/clr commit: a7e75c72ee]
2018-09-26 17:01:59 +03:00
Evgeny Mankov 2a6861aa64 Merge pull request #687 from emankov/hipBLAS
[HIPIFY][BLAS] Add support of hipblasGemmEx and corresponding types

[ROCm/clr commit: d12c1f7eff]
2018-09-25 18:48:06 +03:00
Evgeny Mankov 11dde91716 [HIPIFY][BLAS] Add support of hipblasGemmEx and corresponding types
TODO (hipBLAS/HIP): rename hipblasDatatype_t to hipDataType_t and move it from hipBLAS to HIP, as Data types are used not only in BLAS library.


[ROCm/clr commit: 65035fa485]
2018-09-25 18:46:23 +03:00
Evgeny Mankov dac14d60b7 [HIPIFY][Complex] Add cuComplex support
+ Add API_COMPLEX support (data types and functions)
+ Add cuComplex_API_supported_by_HIP.md
+ Add cuComplex_Julia.cu test
+ Update README.md


[ROCm/clr commit: ce57b99f9d]
2018-08-08 18:34:57 +03:00
Evgeny Mankov 9ffec20ff2 [HIPIFY][docs] Formatting
[ROCm/clr commit: 55ee734b22]
2018-08-01 17:29:00 +03:00
Evgeny Mankov 66e24cb0d3 [HIPIFY][FFT] Add cuFFT support
+ Add API_FFT support (data types and functions)
+ Add CUFFT_API_supported_by_HIP.md
+ Add simple_cufft.cu test
+ Update README.md


[ROCm/clr commit: c57bfd50e3]
2018-07-31 22:25:48 +03:00
Evgeny Mankov 351f385ea9 [HIPIFY][BLAS] cuBLAS support revise
+ doc for CUBLAS API supported by HIP
+ 3 tests: 0 & 1 based indexing, sgemm matmul


[ROCm/clr commit: e00cfefd4f]
2018-07-28 21:00:44 +03:00
Evgeny Mankov 23fb9e51f2 [HIPIFY][DNN] cuDNN support revise
+ add doc for CUDDN API supported by HIP
+ cuDNN softMax test


[ROCm/clr commit: 618b1f5171]
2018-07-20 21:00:24 +03:00
Evgeny Mankov 3a45d7016c [HIPIFY] Support of cudaComputeMode / CUcomputemode
+ update docs
+ fix typo in hip_runtime_api.h


[ROCm/clr commit: 4e0d07f07a]
2018-07-14 16:08:19 +03:00
Evgeny Mankov 6e94b0dfa6 [HIPIFY] Current trunk LLVM 7.0 initial support
Tested with CUDA 8.0, 9.0, 9.1 and 9.2.

Only 8.0 works with LLVM 7.0, due to the changes in LLVM trunc since released 6.0, which works fine with CUDA 8.0 and 9.0.

So, nothing to do in hipify-clang, hope that all the CUDA 9.x related issues will be fixed in 7.0 release.


[ROCm/clr commit: b9c15702d2]
2018-07-11 20:15:49 +03:00
Evgeny Mankov ed0cef6002 [HIPIFY] Add DEBUG(X) macro compatibility
In LLVM 7.0 DEBUG(X) was deleted, LLVM_DEBUG(X) should be used instead.


[ROCm/clr commit: 22dffde22e]
2018-07-11 18:21:00 +03:00
Evgeny Mankov a6f74d51b9 [HIPIFY][docs] Update README.md after testing with new LLVM releases 5.0.2 and 6.0.1
[ROCm/clr commit: 2806dff2be]
2018-07-10 20:37:54 +03:00
Evgeny Mankov 8bf5453afc [HIPIFY][DNN] support of cuDNN 7.1.3 - finishing
[ROCm/clr commit: 5585072e63]
2018-05-21 18:31:20 +03:00
Evgeny Mankov f8890c3553 [HIPIFY][DNN] support of cuDNN 7.1.3 - continuation 2
- not finished yet.
- based on https://github.com/ROCmSoftwarePlatform/hipDNN.
- testing on https://github.com/baidu-research/DeepBench - almost pass, except cusparse (not supported yet).
- started testing of examples from libcudnn7-dev_7.1.3.16-1+cuda8.0_amd64 package.


[ROCm/clr commit: 1108a925ca]
2018-05-14 16:23:59 +03:00
Evgeny Mankov f7d2e7bbe7 [HIPIFY][DNN] support of cuDNN 7.1.3 - continuation
- not finished yet.
- based on https://github.com/ROCmSoftwarePlatform/hipDNN.
- testing on https://github.com/baidu-research/DeepBench.


[ROCm/clr commit: b31df9cc60]
2018-05-10 17:36:51 +03:00
Evgeny Mankov 912494f3fe [HIPIFY][Blas] Sync with CUDA 9.1
[ROCm/clr commit: 57d9ced72a]
2018-05-08 20:42:30 +03:00
Evgeny Mankov 6e6f6f630d [HIPIFY] Sync with hipBLAS
[ROCm/clr commit: 089ac77b97]
2018-05-08 19:20:47 +03:00
Evgeny Mankov 19106d767e [HIPIFY][doc] Readme.md update
+ supported CUDA version to LLVM version correspondence table is added.
+ Test section is rewritten.
+ Windows support is added.


[ROCm/clr commit: b6d4c7cfe6]
2018-05-04 10:50:18 +03:00
Evgeny Mankov d008022018 [HIPIFY] Initial cuDNN support
- based on https://github.com/ROCmSoftwarePlatform/hipDNN.
- lit testing was supplemented with CUDA_DNN_ROOT_DIR for cuDNN testing.
- single cuDNN test was added.


[ROCm/clr commit: 4d19bd1da5]
2018-05-03 11:33:40 +03:00
Evgeny Mankov 8426a907cb [HIPIFY] Sync with HIP (Execution Control, Surfaces, Memory)
Execution Control [deprecated since 7.0]:
cudaConfigureCall -> hipConfigureCall
cudaLaunch -> hipLaunchByPtr
cudaSetupArgument -> hipSetupArgument

Surfaces (partially):
cudaSurfaceObject_t -> hipSurfaceObject_t
cudaSurfaceBoundaryMode -> hipSurfaceBoundaryMode
cudaCreateSurfaceObject -> hipCreateSurfaceObject
cudaDestroySurfaceObject -> hipDestroySurfaceObject

Memory Management:
cudaMemset2DAsync -> hipMemset2DAsync


[ROCm/clr commit: bfee03f95b]
2018-04-24 22:04:04 +03:00
Evgeny Mankov 6974aca85f [HIPIFY] undo apply .clangformat to HIPIFY source files
[ROCm/clr commit: ad28f72ca9]
2018-04-23 20:22:15 +03:00
Maneesh Gupta 46ddefedee Apply .clangformat to all repo source files
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344


[ROCm/clr commit: 9e47fccc89]
2018-03-12 11:29:03 +05:30
Evgeny Mankov adb39887b2 [HIPIFY][fix] Build against llvm 3.8.0 fixed - missing include
/srv/HIP/hipify-clang/src/main.cpp:134:19: error: no member named 'dbgs' in namespace 'llvm'
      DEBUG(llvm::dbgs() << "Skipped some replacements.\n");
            ~~~~~~^


[ROCm/clr commit: 8ba4acb3cd]
2018-02-08 00:08:47 +03:00
Evgeny Mankov 2a1267bd43 [HIPIFY][tests] add poisson-api-example test
+ add missing types
+ doc update


[ROCm/clr commit: eef94a74bc]
2018-01-30 19:50:18 +03:00
Evgeny Mankov ea60d1daec [HIPIFY][tests] fix typo
[ROCm/clr commit: 2ae2693c8a]
2018-01-30 18:55:09 +03:00
Evgeny Mankov 2583a716a7 [HIPIFY] InclusionDirective refactoring
Due to support of cuRAND headers.

+ compound test on all headers is added;
+ missing entities are added with updating the doc;
+ a couple cuRAND tests are added (https://github.com/ROCmSoftwarePlatform/rocRAND/tree/master/benchmark):
  - the following CUDA entities are still unsupported by hipRAND:
      curandMakeMTGP32Constants
      curandMakeMTGP32KernelState
      curandGetDirectionVectors32
      curandDirectionVectorSet_t
      CURAND_DIRECTION_VECTORS_32_JOEKUO6
      curandStateSobol64_t
      curandStateScrambledSobol64_t
      curandGenerateLongLong
  - and the following - by HIP:
      cudaRuntimeGetVersion
  - those entities are handled by CHECK-NOT directive for now.


[ROCm/clr commit: 58f2d3c93f]
2018-01-29 18:33:47 +03:00
Evgeny Mankov 278ae56dfe Merge pull request #340 from emankov/master
[HIPIFY][fix] Fix PragmaDirective

[ROCm/clr commit: 657be80c29]
2018-01-24 18:09:54 +03:00
Evgeny Mankov cbbf54d122 [HIPIFY][fix] CUDA and cuBLAS main headers correct handling
[ROCm/clr commit: aaa9559768]
2018-01-23 23:43:36 +03:00
Evgeny Mankov d3d192e62c [HIPIFY][fix] Fix PragmaDirective
File location have to be verified, otherwise location of the first found '#pragma once' in any included header even system will be erroneously handled, which might lead to attempt to including hip_runtime.h in it.


[ROCm/clr commit: b9fc653b08]
2018-01-23 23:06:55 +03:00
Evgeny Mankov d88edc8874 [HIPIFY] Sync with hipBLAS ToT and CUDA cuBLAS 9.1
[ROCm/clr commit: 1ecb5b5901]
2018-01-22 17:12:02 +03:00
Evgeny Mankov 51a5587d25 [HIPIFY] cuRAND lib support (Device)
[ROCm/clr commit: 5b1b3438fd]
2018-01-19 21:29:05 +03:00
Evgeny Mankov fa4a5355e4 [HIPIFY] cuRAND lib support (partial - only Host)
[ROCm/clr commit: 2e2e38f163]
2018-01-19 17:38:51 +03:00
Evgeny Mankov aed171f87e Merge pull request #332 from emankov/cudaMap_2
[HIPIFY] Add cudaMalloc3D support

[ROCm/clr commit: a8cae9ec07]
2018-01-18 13:05:57 +03:00
Evgeny Mankov 75ed140298 [HIPIFY] Add cudaMalloc3D support
[ROCm/clr commit: eb27585136]
2018-01-18 12:28:56 +03:00