Commit Graph

89 Commits

Author SHA1 Message Date
Evgeny Mankov 96801f7b3a [HIP][HIPIFY] Split HIP_ARRAY_DESCRIPTOR struct to HIP_ARRAY_DESCRIPTOR and HIP_ARRAY3D_DESCRIPTOR
[Reason] To be compatible with CUDA [#1133]

Update HIP code, hipify-clang, tests and docs

[TODO] Add support of the corresponding functions on nvcc fallback path


[ROCm/hip commit: c7117df91b]
2019-07-11 14:58:16 +03:00
Evgeny Mankov 6ba67c4a81 [HIPIFY] Add device texture fetch functions support
+ Add a corresponding reverse engineered sample tex2dKernel with texture template


[ROCm/hip commit: c7a2b4e492]
2019-05-23 12:47:08 +03:00
Evgeny Mankov 87aa888175 [HIPIFY][tests] Add reverse engineered HIP sample "peer2peer"
+ Fix typo in sample "stream"


[ROCm/hip commit: 29d8e10112]
2019-05-20 17:16:11 +03:00
Evgeny Mankov ce28dc83e4 [HIPIFY][cuDNN] Add cudnnGetFilter4dDescriptor support
+ Update cudnn_convolution_forward test accordingly


[ROCm/hip commit: aed2affda2]
2019-05-16 16:36:23 +03:00
Evgeny Mankov 75adf32213 [HIPIFY][tests] Add reverse engineered HIP sample "stream"
+ Add additional checks for extern __shared__ due to [#1109]


[ROCm/hip commit: 64eeeca6ce]
2019-05-15 20:17:03 +03:00
Evgeny Mankov 2472ece71d [HIPIFY][fix][#1109] Do not preserve extern __shared__ for IncompleteArrayType
+ Update tests accordingly


[ROCm/hip commit: fa3dda9107]
2019-05-15 20:05:56 +03:00
Evgeny Mankov 265f9336f5 [HIPIFY][tests] Add reverse engineered HIP sample Profiler
+ Add missing cuda_profiler_api.h to hip/hip_profile.h transformation.
NOTE: HIP Profiler API is under development. This is NOT WORKING example.
TODO: Find out a way to generate HIP_SCOPED_MARKER, HIP_BEGIN_MARKER, HIP_END_MARKER, declared in hip/hip_profile.h in particular place (signatures are to obtain).


[ROCm/hip commit: d74d03aa74]
2019-05-14 16:43:44 +03:00
Evgeny Mankov 3d00f22ccc [HIPIFY][tests] Add reverse engineered HIP sample hipEvent
[ROCm/hip commit: 3bc3b61fb4]
2019-05-13 22:12:43 +03:00
emankov cac92068bc [HIPIFY][tests] Add reverse engineered HIP sample MatrixTranspose
[ROCm/hip commit: 4b861bca39]
2019-05-13 19:37:18 +03:00
emankov 1f57ee6125 [HIPIFY][tests] Add cuSPARSE CSR-BCSR-SPMV-conversions example
[ROCm/hip commit: e3082f5142]
2019-04-30 17:37:34 +03:00
Evgeny Mankov 86d68901da [HIPIFY][DNN] cudnnSetFilter4dDescriptor support
[ROCm/hip commit: 3fee0f3765]
2019-04-25 12:18:51 +03:00
Evgeny Mankov 7bbf825c74 [HIPIFY][tests] Fix typo in test for CUDA 10.x
[ROCm/hip commit: 8bca9f1d7a]
2019-04-01 19:52:08 +03:00
Evgeny Mankov 1397bf79d8 [HIPIFY][tests] Update lit testing infrastructure
+ Set -D__LP64__ in case of 64-bit hipify-clang binary
  [partial workaround for clang's bug https://bugs.llvm.org/show_bug.cgi?id=38811]

  C:/GIT/LLVM/trunk/llvm-64-release-vs2017/dist/lib/clang/9.0.0\include\__clang_cuda_device_functions.h(1609,45): error GEF7559A7: no matching function for call to 'roundf'
  __DEVICE__ long lroundf(float __a) { return roundf(__a); }

  #if defined(__LP64__)
  __DEVICE__ long lround(double __a) { return llround(__a); }
  __DEVICE__ long lroundf(float __a) { return llroundf(__a); } // ok: llroundf should be used when 64-bit
  #else
  __DEVICE__ long lround(double __a) { return round(__a); }
  __DEVICE__ long lroundf(float __a) { return roundf(__a); } // error
  #endif

+ Print more system info while testing in the following form:
  ========================================
  CUDA 9.0 - will be used for testing
  LLVM 9.0.0svn - will be used for testing
  AMD64 - Platform architecture
  Windows 10 - Platform OS
  64 - hipify-clang binary bitness
  32 - python 3.7.2 binary bitness
  ========================================


[ROCm/hip commit: e899ee0e06]
2019-03-06 19:26:05 +03:00
Evgeny Mankov 5f4b9a8f8f [HIPIFY][tests] caffe2 test fix
[ROCm/hip commit: 3a8ef9c8a2]
2019-02-25 17:12:32 +03:00
Evgeny Mankov 3a57fc0a4b [HIPIFY][Caffe2] Initial Caffe2 support
[ROCm/hip commit: 2619f22e5c]
2019-02-23 20:46:22 +03:00
Evgeny Mankov d91590a98b [HIPIFY][DNN] Revise and sync with CUDNN 10 and hipDNN
+ CUDNN_API_supported_by_HIP.md update
+ CUDA_Runtime_API_functions_supported_by_HIP.md update
+ libraryPropertyType_t is moved to Runtime
+ test update


[ROCm/hip commit: d26dc3cea7]
2019-02-13 19:40:59 +03:00
Evgeny Mankov 88da4a036f [HIPIFY][RAND] revise
+ add missing functions
+ add minimum rocRAND support
+ updated CURAND_API_supported_by_HIP.md


[ROCm/hip commit: 7ba8c440e6]
2019-02-08 17:54:28 +03:00
Evgeny Mankov 032cb00926 [HIPIFY][BLAS][tests] Add tests on hipifying to 'roc'
[ROCm/hip commit: 385fe36f2a]
2019-02-07 19:25:23 +03:00
Evgeny Mankov e65d1f2dc1 [HIPIFY] CUDA Runtime API functions total revise (up to CUDA 10.0)
+ for all CUDA versions starting from 7.0
+ add missing functions
+ sync with HIP
+ update CUDA_Runtime_API_functions_supported_by_HIP.md
+ update affected tests
+ fix typos
+ formatting, annotating


[ROCm/hip commit: 4ff355357f]
2019-01-24 14:05:36 +03:00
Evgeny Mankov ea31378dc1 [HIPIFY][tests] Exclude one more test if CUDA == 7.0, which is of CUDA 7.5
[ROCm/hip commit: 841e056935]
2019-01-22 22:26:43 +03:00
Evgeny Mankov b932304bfc [HIPIFY] option cuda-path might be used with '--' as well as with a single dash: '-'
+ Update README.md


[ROCm/hip commit: 0206fadc14]
2019-01-10 18:01:33 +03:00
Evgeny Mankov 6acede94f5 [HIPIFY] Introduce CUDA installation path option '-cuda-path'
Repeats clang's '--cuda-path' option.

[Reason]
In case of absence of any other clang's options setting '-cuda-path' allows not to specify separator '--' before clang's '--cuda-path'.

+ Tests and scripts are updated accordingly.


[ROCm/hip commit: fbfe005e4e]
2019-01-09 20:18:36 +03:00
emankov 74f77c9f29 [HIPIFY][tests] CUDA 7.0 is also supported
+ Exclude 1 test for CUDA 7.0
+ Update README.md


[ROCm/hip commit: 9abcad9407]
2019-01-04 01:32:30 +03:00
emankov 15949403b4 [HIPIFY][tests] Exclude CUDA 8.0 (9.0) tests if CUDA < 8.0 (9.0)
[ROCm/hip commit: 65155c7159]
2019-01-03 18:06:49 +03:00
emankov 8883153c05 [HIPIFY][tests] Reduce cudaRegister.cu test
[ROCm/hip commit: 7fb0f4ee2a]
2019-01-03 17:17:21 +03:00
emankov 142d00b382 [HIPIFY] Get rid of setting '--cuda-gpu-arch='
[Reasons]
+ We don't compile kernel code at least for now as HIP kernel syntax is almost equal CUDA's;
+ clang always includes PTX in its binaries, so e.g. a binary compiled with --cuda-gpu-arch= would be forwards-compatible with e.g. sm_35 GPUs.


[ROCm/hip commit: dec459efca]
2018-12-29 19:48:28 +03:00
emankov 4e50eba101 [HIPIFY] Starts implicitly setting '-x cuda' by hipify-clang itself
+ No need in setting '-x cuda' for the user anymore;
+ Testing and Readme updated accordingly.


[ROCm/hip commit: 7ea586c323]
2018-12-29 17:04:59 +03:00
emankov d6593e4138 [HIPIFY][win] Set -std=c++14 if MSVC
+ Due to latest Windows SDK implementation based on c++14 features, '-std+c++14' is a must;
+ Doesn't affect older versions of MSVC 2017, 2015 (the latest supported is MSVC 2015);
+ On linux still '-std=c++11' is a must;
+ Exclude '-std=' from lit config.


[ROCm/hip commit: 2d3f62c3e1]
2018-12-29 15:51:06 +03:00
Evgeny Mankov 237d9e2a37 [HIPIFY][tests][fix] Add correct CUDA version detection while testing
+ Just do load_config for lit.site.cfg earlier in lit.cfg to get initialized cuda_version
+ Remove lit.cfg.in for CMake variables substitution
+ Return back lit.cfg
+ Exclude CUDA 9.0 tests if CUDA < 9.0
+ Report CUDA version before running tests


[ROCm/hip commit: 3d528cf491]
2018-12-12 17:05:01 +03:00
Evgeny Mankov c91d1ef0db [HIPIFY][tests][fix] Add correct CUDA version detection while testing
+ Add lit.cfg.in for CMake variables substitution to now generated lit.cfg
+ Exclude lit.cfg
+ Exclude CUDA 9.0 tests if CUDA < 9.0
+ Report CUDA version before running tests


[ROCm/hip commit: b955e317a7]
2018-12-11 22:03:11 +03:00
Evgeny Mankov 5cae606a0f [HIPIFY][tests] Reorganization
[ROCm/hip commit: 09612ac03f]
2018-12-04 20:47:34 +03:00
Evgeny Mankov fd03a77da0 [HIPIFY][SPARSE] Add 3 more CUDA 10.0 tests
+ lit update
+ fix typos


[ROCm/hip commit: 72d40db358]
2018-12-04 19:24:29 +03:00
Evgeny Mankov 71005f60da [HIPIFY][SPARSE] Matrix Reorderings and Format Conversion Reference
+ cuSPARSE is supported up to CUDA 10.0
+ cuSPARSE_08 test (CUDA 10.0)
+ update CUSPARSE_API_supported_by_HIP.md
+ lit: add a rule for CUDA 10.0 tests excluding


[ROCm/hip commit: 116b9191f7]
2018-11-30 15:33:57 +03:00
Evgeny Mankov 2e10abdc53 [HIPIFY][SPARSE] Preconditioners Reference: Tridiagonal and Pentadiagonal solves
+ Tridiagonal Solve, Batched Tridiagonal and Pentadiagonal Solve
+ cuSPARSE_07 test
+ update CUSPARSE_API_supported_by_HIP.md


[ROCm/hip commit: 8a84c665e2]
2018-11-29 18:46:51 +03:00
Evgeny Mankov 9076aaed1f [HIPIFY][SPARSE] Preconditioners Reference: Incomplete LU Factorization: level 0
+ cuSPARSE_06 test
+ update CUSPARSE_API_supported_by_HIP.md


[ROCm/hip commit: 6c085c83a2]
2018-11-29 15:59:58 +03:00
Evgeny Mankov 27960048a3 [HIPIFY][SPARSE] Preconditioners Reference: Incomplete Cholesky Factorization: level 0
+ cuSPARSE_05 test
+ update CUSPARSE_API_supported_by_HIP.md


[ROCm/hip commit: b39bd8c9a9]
2018-11-28 20:10:30 +03:00
Evgeny Mankov b2c7acb939 [HIPIFY][SPARSE] Extra functions
+ cuSPARSE_04 test
+ update CUSPARSE_API_supported_by_HIP.md


[ROCm/hip commit: 11fedfbff6]
2018-11-27 12:41:50 +03:00
Evgeny Mankov 1ceb4b3fb9 [HIPIFY][SPARSE] Level 3 functions
+ cuSPARSE_03 test
+ update CUSPARSE_API_supported_by_HIP.md


[ROCm/hip commit: 82bbaf0b70]
2018-11-27 11:57:25 +03:00
Evgeny Mankov 171d7b4e45 [HIPIFY][SPARSE] Helper and Level 1,2 functions
+ 2 cuSPARSE tests
+ update CUSPARSE_API_supported_by_HIP.md


[ROCm/hip commit: c7f6266824]
2018-11-26 15:11:52 +03:00
emankov f5f06217a8 [HIPIFY][SPARSE] Initial support
[ROCm/hip commit: 30c387a811]
2018-11-20 17:58:05 +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 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 3f3e84b29e [HIPIFY][test] Add static and dynamic shared memory tests
[ROCm/hip commit: 70bd255d71]
2018-07-18 18:33:44 +03:00
emankov 2ad9863d31 [HIPIFY][test] Undo commit "Apply .clangformat to all repo source files"
Commit broke tests due to code and comments formatting changes, thus FileCheck fails on checks, which are in comments.


[ROCm/hip commit: 21b79cd467]
2018-05-04 22:23:16 +03:00
emankov 097fa4f200 [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: 2569972dde]
2018-05-02 22:11:05 +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 8a9f74aff9 [HIPIFY][tests] Add coalescing.cu test
[ROCm/hip commit: b0efa41d31]
2018-02-01 19:41:36 +03:00
Evgeny Mankov ba03b81442 [HIPIFY][tests] Add vec_add.cu test
[ROCm/hip commit: 06771d20ba]
2018-02-01 18:34:16 +03:00