Commit Graph

232 Commits

Author SHA1 Message Date
Evgeny Mankov c7f6266824 [HIPIFY][SPARSE] Helper and Level 1,2 functions
+ 2 cuSPARSE tests
+ update CUSPARSE_API_supported_by_HIP.md
2018-11-26 15:11:52 +03:00
Maneesh Gupta bcea027bf1 Merge pull request #748 from mkuron/getsymboladdress
Implement hipGetSymbolAddress and hipGetSymbolSize
2018-11-21 10:32:01 +05:30
emankov 47aeaecec8 [HIPIFY][SPARSE] Data types support
+ Add all cuSPARSE types
+ Update CUSPARSE_API_supported_by_HIP.md
+ Update README.md
2018-11-21 01:31:02 +03:00
emankov 30c387a811 [HIPIFY][SPARSE] Initial support 2018-11-20 17:58:05 +03:00
Michael Kuron 8610128c3e Merge branch 'master' into getsymboladdress 2018-11-20 12:03:22 +01:00
Evgeny Mankov 8aefe12b8e [HIPIFY] Move Complex API types and functions to separate files 2018-11-19 21:04:47 +03:00
Evgeny Mankov cfabad4354 [HIPIFY] CUDA Driver API functions total revise (up to CUDA 10.0)
+ for all CUDA versions
+ add missing types
+ fix typos
+ sync with HIP
+ update CUDA_Driver_API_functions_supported_by_HIP.md
+ formatting, annotating
2018-11-19 20:00:05 +03:00
Evgeny Mankov aad5858cb1 [HIPIFY][LLVMCompat] support of upcoming LLVM 8.0
+ StringRef issue, which is finally moved to LLVM from Clang
+ Renamed getBeginLoc() and getEndLoc() resolution for Expr and TypeLoc classes
+ Support all the previous LLVM versions via LLVCompat
2018-11-16 01:23:25 +03:00
Michael Kuron 73616582d6 Implement hipGetSymbolAddress and hipGetSymbolSize 2018-11-04 10:39:34 +01:00
Evgeny Mankov 9f1666e37a [HIPIFY][doc] Update README.md
+ Split Linux and Windows sections
+ Rewrite Testing section
2018-11-01 19:11:40 +03:00
Evgeny Mankov eff5d3fc1b [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
2018-11-01 16:57:57 +03:00
Evgeny Mankov a8e6033aa3 [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.
2018-10-30 19:35:59 +03:00
Evgeny Mankov 104be4b677 [HIPIFY][fix] Return back cudaDeviceProp's struct field warpSize to hipWarpSize mapping. 2018-10-30 15:53:00 +03:00
Evgeny Mankov f83eabfa9e [HIPIFY] Modify HIP types to conform to CUDA's ones 2018-10-29 20:51:25 +03:00
Evgeny Mankov c5bfa09b04 [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
2018-10-29 17:13:00 +03:00
Evgeny Mankov 368e9d5100 [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.
2018-10-26 15:01:58 +03:00
Evgeny Mankov 2c367bc8af [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
2018-10-25 17:09:18 +03:00
Evgeny Mankov 5d1255272b [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
2018-10-23 00:00:10 +03:00
Evgeny Mankov 520e795a8d [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
2018-10-18 18:50:24 +03:00
Evgeny Mankov ee3a5cc722 [HIPIFY] Code cleanup and formatting 2018-10-15 15:27:37 +03:00
Evgeny Mankov e3d7cc2885 [HIPIFY] CUDA 10.0 Driver API initial support 2018-10-03 20:29:22 +03:00
Evgeny Mankov d0c683fcde [HIPIFY][cmake] CUDA 10.0 is not supported. 2018-09-27 19:05:22 +03:00
Evgeny Mankov c943885a65 [HIPIFY][docs] Fix typos in Readme.md 2018-09-26 17:26:25 +03:00
Evgeny Mankov 23448bbf9b Merge pull request #690 from emankov/hipBLAS
[HIPIFY][doc] Update README.md due to new LLVM 7.0.0 and CUDA 10.0 re…
2018-09-26 17:05:47 +03:00
Evgeny Mankov 221ef1db1f [HIPIFY][doc] Update README.md due to new LLVM 7.0.0 and CUDA 10.0 releases. 2018-09-26 17:01:59 +03:00
Evgeny Mankov 3a1157653f Merge pull request #687 from emankov/hipBLAS
[HIPIFY][BLAS] Add support of hipblasGemmEx and corresponding types
2018-09-25 18:48:06 +03:00
Evgeny Mankov d279c7a1dd [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.
2018-09-25 18:46:23 +03:00
Evgeny Mankov 368977f75b [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
2018-08-08 18:34:57 +03:00
Evgeny Mankov 0fe661b182 [HIPIFY][docs] Formatting 2018-08-01 17:29:00 +03:00
Evgeny Mankov 70cfa5e53c [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
2018-07-31 22:25:48 +03:00
Evgeny Mankov 92eb165875 [HIPIFY][BLAS] cuBLAS support revise
+ doc for CUBLAS API supported by HIP
+ 3 tests: 0 & 1 based indexing, sgemm matmul
2018-07-28 21:00:44 +03:00
Evgeny Mankov 7ef05de0d5 [HIPIFY][DNN] cuDNN support revise
+ add doc for CUDDN API supported by HIP
+ cuDNN softMax test
2018-07-20 21:00:24 +03:00
Evgeny Mankov 55e21055e3 [HIPIFY] Support of cudaComputeMode / CUcomputemode
+ update docs
+ fix typo in hip_runtime_api.h
2018-07-14 16:08:19 +03:00
Evgeny Mankov 433e172776 [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.
2018-07-11 20:15:49 +03:00
Evgeny Mankov 9fcb48e5c4 [HIPIFY] Add DEBUG(X) macro compatibility
In LLVM 7.0 DEBUG(X) was deleted, LLVM_DEBUG(X) should be used instead.
2018-07-11 18:21:00 +03:00
Evgeny Mankov 75164a5bf5 [HIPIFY][docs] Update README.md after testing with new LLVM releases 5.0.2 and 6.0.1 2018-07-10 20:37:54 +03:00
Evgeny Mankov a5df3a484c [HIPIFY][DNN] support of cuDNN 7.1.3 - finishing 2018-05-21 18:31:20 +03:00
Evgeny Mankov b0fd0c310d [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.
2018-05-14 16:23:59 +03:00
Evgeny Mankov dffe1802be [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.
2018-05-10 17:36:51 +03:00
Evgeny Mankov e5ba9668fc [HIPIFY][Blas] Sync with CUDA 9.1 2018-05-08 20:42:30 +03:00
Evgeny Mankov 7681775662 [HIPIFY] Sync with hipBLAS 2018-05-08 19:20:47 +03:00
Evgeny Mankov 054c3f71f0 [HIPIFY][doc] Readme.md update
+ supported CUDA version to LLVM version correspondence table is added.
+ Test section is rewritten.
+ Windows support is added.
2018-05-04 10:50:18 +03:00
Evgeny Mankov fe421c89b2 [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.
2018-05-03 11:33:40 +03:00
Evgeny Mankov 6f501f6094 [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
2018-04-24 22:04:04 +03:00
Evgeny Mankov 8499e79e2b [HIPIFY] undo apply .clangformat to HIPIFY source files 2018-04-23 20:22:15 +03:00
Maneesh Gupta 1ba06f63c4 Apply .clangformat to all repo source files
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344
2018-03-12 11:29:03 +05:30
Evgeny Mankov 7f3e89bbb0 [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");
            ~~~~~~^
2018-02-08 00:08:47 +03:00
Evgeny Mankov 26095fe7c1 [HIPIFY][tests] add poisson-api-example test
+ add missing types
+ doc update
2018-01-30 19:50:18 +03:00
Evgeny Mankov 9d814bef31 [HIPIFY][tests] fix typo 2018-01-30 18:55:09 +03:00
Evgeny Mankov 02e23c4d87 [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.
2018-01-29 18:33:47 +03:00