Commit Graph

69 Commits

Author SHA1 Message Date
Evgeny Mankov 0206fadc14 [HIPIFY] option cuda-path might be used with '--' as well as with a single dash: '-'
+ Update README.md
2019-01-10 18:01:33 +03:00
Evgeny Mankov fbfe005e4e [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.
2019-01-09 20:18:36 +03:00
emankov 9abcad9407 [HIPIFY][tests] CUDA 7.0 is also supported
+ Exclude 1 test for CUDA 7.0
+ Update README.md
2019-01-04 01:32:30 +03:00
emankov 65155c7159 [HIPIFY][tests] Exclude CUDA 8.0 (9.0) tests if CUDA < 8.0 (9.0) 2019-01-03 18:06:49 +03:00
emankov 7fb0f4ee2a [HIPIFY][tests] Reduce cudaRegister.cu test 2019-01-03 17:17:21 +03:00
emankov dec459efca [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.
2018-12-29 19:48:28 +03:00
emankov 7ea586c323 [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.
2018-12-29 17:04:59 +03:00
emankov 2d3f62c3e1 [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.
2018-12-29 15:51:06 +03:00
Evgeny Mankov 3d528cf491 [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
2018-12-12 17:05:01 +03:00
Evgeny Mankov b955e317a7 [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
2018-12-11 22:03:11 +03:00
Evgeny Mankov 09612ac03f [HIPIFY][tests] Reorganization 2018-12-04 20:47:34 +03:00
Evgeny Mankov 72d40db358 [HIPIFY][SPARSE] Add 3 more CUDA 10.0 tests
+ lit update
+ fix typos
2018-12-04 19:24:29 +03:00
Evgeny Mankov 116b9191f7 [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
2018-11-30 15:33:57 +03:00
Evgeny Mankov 8a84c665e2 [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
2018-11-29 18:46:51 +03:00
Evgeny Mankov 6c085c83a2 [HIPIFY][SPARSE] Preconditioners Reference: Incomplete LU Factorization: level 0
+ cuSPARSE_06 test
+ update CUSPARSE_API_supported_by_HIP.md
2018-11-29 15:59:58 +03:00
Evgeny Mankov b39bd8c9a9 [HIPIFY][SPARSE] Preconditioners Reference: Incomplete Cholesky Factorization: level 0
+ cuSPARSE_05 test
+ update CUSPARSE_API_supported_by_HIP.md
2018-11-28 20:10:30 +03:00
Evgeny Mankov 11fedfbff6 [HIPIFY][SPARSE] Extra functions
+ cuSPARSE_04 test
+ update CUSPARSE_API_supported_by_HIP.md
2018-11-27 12:41:50 +03:00
Evgeny Mankov 82bbaf0b70 [HIPIFY][SPARSE] Level 3 functions
+ cuSPARSE_03 test
+ update CUSPARSE_API_supported_by_HIP.md
2018-11-27 11:57:25 +03:00
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
emankov 30c387a811 [HIPIFY][SPARSE] Initial support 2018-11-20 17:58:05 +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 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 70bd255d71 [HIPIFY][test] Add static and dynamic shared memory tests 2018-07-18 18:33:44 +03:00
emankov 21b79cd467 [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.
2018-05-04 22:23:16 +03:00
emankov 2569972dde [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-02 22:11:05 +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 b0efa41d31 [HIPIFY][tests] Add coalescing.cu test 2018-02-01 19:41:36 +03:00
Evgeny Mankov 06771d20ba [HIPIFY][tests] Add vec_add.cu test 2018-02-01 18:34:16 +03:00
Evgeny Mankov d254875c42 [HIPIFY][tests] add new line at the end of file 2018-02-01 17:36:45 +03:00
Evgeny Mankov 3c058379d8 [HIPIFY][tests] Add intro.cu test 2018-02-01 17:07:48 +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
Evgeny Mankov f9416a0c49 [HIPIFY][tests][win] Make cudaRegister.cu building on Windows as well 2018-01-24 20:13:23 +03:00
Evgeny Mankov befa8dbbce Merge pull request #341 from emankov/hipBLAS
[HIPIFY][fix] CUDA and cuBLAS main headers correct handling
2018-01-24 18:09:12 +03:00
Evgeny Mankov 600d5d7c06 [HIPIFY][fix] CUDA and cuBLAS main headers correct handling 2018-01-23 23:43:36 +03:00
Evgeny Mankov c528f4f9c5 [HIPIFY][tests][win] Uncomment @echo off 2018-01-23 21:46:27 +03:00
Evgeny Mankov 368db8bf6c [HIPIFY][tests][win] Fix run_test.bat
All checks should not occur in input file for FileCheck. The issue found on CHECK-NOT.
Change removes all lit checks in the hipified file based on regexp, and the resulted stdout is fed as stdin for FileCheck.
2018-01-23 21:43:18 +03:00
Evgeny Mankov 9c0dc5cfe7 [HIPIFY][tests] remove concurentKernels.cu as it is one of CUDA SDK samples. 2018-01-16 20:41:08 +03:00
Evgeny Mankov 88c5ffee3a Merge pull request #319 from emankov/issue_211
[HIPIFY][fix][#211] Algorithm for explicit insert of hip include directive
2018-01-16 19:47:15 +03:00
Evgeny Mankov 51e0c0a981 Merge pull request #323 from emankov/cudaBuiltins
[HIPIFY][tests] Remove checks on cudaBuiltins
2018-01-16 19:46:41 +03:00
Evgeny Mankov c328e3987c Update headers_test_03.cu 2018-01-16 19:21:59 +03:00
Evgeny Mankov a784a9c824 Update headers_test_04.cu 2018-01-16 19:21:14 +03:00
Evgeny Mankov 74b489b5b2 [HIPIFY][tests] Remove checks on cudaBuiltins
As HIP has started to support vanilla CUDA syntax for threadIdx, blockIdx, blockDim and gridDim.
Other CUDA builtins are not tracked for now.
2018-01-16 17:13:29 +03:00
Evgeny Mankov 58faf1ddc9 [HIPIFY][tests] Add more suffixes to lit config 2018-01-16 16:40:31 +03:00
Evgeny Mankov 09655a0853 [HIPIFY][fix][#211] Algorithm for explicit insert of hip include directive
If in source CUDA file main header (cuda_runtime.h or cuda.h) is not presented, corresponding HIP main header (hip_runtime.h) should be explicitly included in output hipified file.

[Algorithm]
1. If #pragma once is presented, HIP main header should be placed just after it;
2. Otherwise if any other (not CUDA main) header is presented, HIP main header should be placed just before it;
3. Otherwise HIP main header should be placed in the beginning of output file.

P.S.
There might be one more situation when #ifndef #define ... #endif guard for the entire file is presented (make sense for *.h, *.hpp, *.cuh files). In this case HIP main include should be placed just after such #ifdef, or after #pragma once, if it is also presented. This situation will be handled in a separate change.
2018-01-15 21:05:05 +03:00
emankov 6500cce6aa [HIPIFY][#311][fix] Get rid of socat in run_test.sh 2018-01-15 14:20:37 +03:00
Evgeny Mankov 5df3a9bb3b [HIPIFY][tests][win] CUDA samples root env. var is changes
Env. var NVCUDASAMPLES_ROOT is changed to NVCUDASAMPLESX_Y_ROOT where X - major ver, Y - minor ver.

Reason: NVCUDASAMPLES_ROOT contains path to CUDA SDK installed last, while NVCUDASAMPLESX_Y_ROOT contains samples of the same version as of CUDA_TOOLKIT_ROOT_DIR.
2018-01-12 17:15:37 +03:00