Commit Graph

224 Commits

Author SHA1 Message Date
Michael Kuron bc455ccf50 Implement hipGetSymbolAddress and hipGetSymbolSize
[ROCm/hip commit: 73616582d6]
2018-11-04 10:39:34 +01:00
Evgeny Mankov 4dd080b3d0 [HIPIFY][doc] Update README.md
+ Split Linux and Windows sections
+ Rewrite Testing section


[ROCm/hip commit: 9f1666e37a]
2018-11-01 19:11:40 +03:00
Evgeny Mankov 883f902eaf [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/hip commit: eff5d3fc1b]
2018-11-01 16:57:57 +03:00
Evgeny Mankov 96fefc34b4 [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/hip commit: a8e6033aa3]
2018-10-30 19:35:59 +03:00
Evgeny Mankov e4d356fdae [HIPIFY][fix] Return back cudaDeviceProp's struct field warpSize to hipWarpSize mapping.
[ROCm/hip commit: 104be4b677]
2018-10-30 15:53:00 +03:00
Evgeny Mankov 7470b5b694 [HIPIFY] Modify HIP types to conform to CUDA's ones
[ROCm/hip commit: f83eabfa9e]
2018-10-29 20:51:25 +03:00
Evgeny Mankov 84b710d1c5 [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/hip commit: c5bfa09b04]
2018-10-29 17:13:00 +03:00
Evgeny Mankov 9a19da214d [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/hip commit: 368e9d5100]
2018-10-26 15:01:58 +03:00
Evgeny Mankov e3eb9bc2c5 [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/hip commit: 2c367bc8af]
2018-10-25 17:09:18 +03:00
Evgeny Mankov 0fef14487c [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/hip commit: 5d1255272b]
2018-10-23 00:00:10 +03:00
Evgeny Mankov c20c22ca21 [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/hip commit: 520e795a8d]
2018-10-18 18:50:24 +03:00
Evgeny Mankov 5b192ed119 [HIPIFY] Code cleanup and formatting
[ROCm/hip commit: ee3a5cc722]
2018-10-15 15:27:37 +03:00
Evgeny Mankov a7a959093b [HIPIFY] CUDA 10.0 Driver API initial support
[ROCm/hip commit: e3d7cc2885]
2018-10-03 20:29:22 +03:00
Evgeny Mankov bdd0d785fd [HIPIFY][cmake] CUDA 10.0 is not supported.
[ROCm/hip commit: d0c683fcde]
2018-09-27 19:05:22 +03:00
Evgeny Mankov 7a6684d9e1 [HIPIFY][docs] Fix typos in Readme.md
[ROCm/hip commit: c943885a65]
2018-09-26 17:26:25 +03:00
Evgeny Mankov ed68d1c931 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/hip commit: 23448bbf9b]
2018-09-26 17:05:47 +03:00
Evgeny Mankov b1d9cff60a [HIPIFY][doc] Update README.md due to new LLVM 7.0.0 and CUDA 10.0 releases.
[ROCm/hip commit: 221ef1db1f]
2018-09-26 17:01:59 +03:00
Evgeny Mankov 9ff79bfeb7 Merge pull request #687 from emankov/hipBLAS
[HIPIFY][BLAS] Add support of hipblasGemmEx and corresponding types

[ROCm/hip commit: 3a1157653f]
2018-09-25 18:48:06 +03:00
Evgeny Mankov e47c0c0a9e [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/hip commit: d279c7a1dd]
2018-09-25 18:46:23 +03:00
Evgeny Mankov 37d047b454 [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/hip commit: 368977f75b]
2018-08-08 18:34:57 +03:00
Evgeny Mankov ac82ada918 [HIPIFY][docs] Formatting
[ROCm/hip commit: 0fe661b182]
2018-08-01 17:29:00 +03:00
Evgeny Mankov 2122770861 [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/hip commit: 70cfa5e53c]
2018-07-31 22:25:48 +03:00
Evgeny Mankov baa29eb5d7 [HIPIFY][BLAS] cuBLAS support revise
+ doc for CUBLAS API supported by HIP
+ 3 tests: 0 & 1 based indexing, sgemm matmul


[ROCm/hip commit: 92eb165875]
2018-07-28 21:00:44 +03:00
Evgeny Mankov 467f9a5e89 [HIPIFY][DNN] cuDNN support revise
+ add doc for CUDDN API supported by HIP
+ cuDNN softMax test


[ROCm/hip commit: 7ef05de0d5]
2018-07-20 21:00:24 +03:00
Evgeny Mankov b063b3eb26 [HIPIFY] Support of cudaComputeMode / CUcomputemode
+ update docs
+ fix typo in hip_runtime_api.h


[ROCm/hip commit: 55e21055e3]
2018-07-14 16:08:19 +03:00
Evgeny Mankov 51fff4049a [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/hip commit: 433e172776]
2018-07-11 20:15:49 +03:00
Evgeny Mankov 2c8fbf1a67 [HIPIFY] Add DEBUG(X) macro compatibility
In LLVM 7.0 DEBUG(X) was deleted, LLVM_DEBUG(X) should be used instead.


[ROCm/hip commit: 9fcb48e5c4]
2018-07-11 18:21:00 +03:00
Evgeny Mankov 5a6fe18e0d [HIPIFY][docs] Update README.md after testing with new LLVM releases 5.0.2 and 6.0.1
[ROCm/hip commit: 75164a5bf5]
2018-07-10 20:37:54 +03:00
Evgeny Mankov a63f8510b0 [HIPIFY][DNN] support of cuDNN 7.1.3 - finishing
[ROCm/hip commit: a5df3a484c]
2018-05-21 18:31:20 +03:00
Evgeny Mankov 3d792501c6 [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/hip commit: b0fd0c310d]
2018-05-14 16:23:59 +03:00
Evgeny Mankov 3ff6d4c311 [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/hip commit: dffe1802be]
2018-05-10 17:36:51 +03:00
Evgeny Mankov 44007e29ab [HIPIFY][Blas] Sync with CUDA 9.1
[ROCm/hip commit: e5ba9668fc]
2018-05-08 20:42:30 +03:00
Evgeny Mankov ef30e4601e [HIPIFY] Sync with hipBLAS
[ROCm/hip commit: 7681775662]
2018-05-08 19:20:47 +03:00
Evgeny Mankov 61d95e4b42 [HIPIFY][doc] Readme.md update
+ supported CUDA version to LLVM version correspondence table is added.
+ Test section is rewritten.
+ Windows support is added.


[ROCm/hip commit: 054c3f71f0]
2018-05-04 10:50:18 +03:00
Evgeny Mankov 057b13fc4a [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/hip commit: fe421c89b2]
2018-05-03 11:33:40 +03:00
Evgeny Mankov 6b53512635 [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/hip commit: 6f501f6094]
2018-04-24 22:04:04 +03:00
Evgeny Mankov 540fc92b1c [HIPIFY] undo apply .clangformat to HIPIFY source files
[ROCm/hip commit: 8499e79e2b]
2018-04-23 20:22:15 +03:00
Maneesh Gupta 4f42ee762d Apply .clangformat to all repo source files
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344


[ROCm/hip commit: 1ba06f63c4]
2018-03-12 11:29:03 +05:30
Evgeny Mankov 1b25dfa25c [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/hip commit: 7f3e89bbb0]
2018-02-08 00:08:47 +03:00
Evgeny Mankov 934c34e81f [HIPIFY][tests] add poisson-api-example test
+ add missing types
+ doc update


[ROCm/hip commit: 26095fe7c1]
2018-01-30 19:50:18 +03:00
Evgeny Mankov 58d1f6f3b3 [HIPIFY][tests] fix typo
[ROCm/hip commit: 9d814bef31]
2018-01-30 18:55:09 +03:00
Evgeny Mankov e455192444 [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/hip commit: 02e23c4d87]
2018-01-29 18:33:47 +03:00
Evgeny Mankov 496111adc3 Merge pull request #340 from emankov/master
[HIPIFY][fix] Fix PragmaDirective

[ROCm/hip commit: fb1012a4b8]
2018-01-24 18:09:54 +03:00
Evgeny Mankov 369f3aa9fa [HIPIFY][fix] CUDA and cuBLAS main headers correct handling
[ROCm/hip commit: 600d5d7c06]
2018-01-23 23:43:36 +03:00
Evgeny Mankov fda3893ee3 [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/hip commit: 77f807b597]
2018-01-23 23:06:55 +03:00
Evgeny Mankov 13aa621ce4 [HIPIFY] Sync with hipBLAS ToT and CUDA cuBLAS 9.1
[ROCm/hip commit: ddfb110080]
2018-01-22 17:12:02 +03:00
Evgeny Mankov 562844d378 [HIPIFY] cuRAND lib support (Device)
[ROCm/hip commit: 6e000adde4]
2018-01-19 21:29:05 +03:00
Evgeny Mankov 4d1fcf52e3 [HIPIFY] cuRAND lib support (partial - only Host)
[ROCm/hip commit: 8ff99eeadc]
2018-01-19 17:38:51 +03:00
Evgeny Mankov 5b9b271506 Merge pull request #332 from emankov/cudaMap_2
[HIPIFY] Add cudaMalloc3D support

[ROCm/hip commit: 0f7d687271]
2018-01-18 13:05:57 +03:00
Evgeny Mankov 7b7560f95d [HIPIFY] Add cudaMalloc3D support
[ROCm/hip commit: ff5f964c07]
2018-01-18 12:28:56 +03:00