Commit Graph

49 Commits

Author SHA1 Message Date
Evgeny Mankov ce57b99f9d [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 c57bfd50e3 [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 e00cfefd4f [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 618b1f5171 [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 7e4e821fbb [HIPIFY][test] Add static and dynamic shared memory tests 2018-07-18 18:33:44 +03:00
emankov 0d756720b2 [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 3958e930ab [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 9e47fccc89 Apply .clangformat to all repo source files
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344
2018-03-12 11:29:03 +05:30
Evgeny Mankov e98ee1d627 [HIPIFY][tests] Add coalescing.cu test 2018-02-01 19:41:36 +03:00
Evgeny Mankov f7fb6e2199 [HIPIFY][tests] Add vec_add.cu test 2018-02-01 18:34:16 +03:00
Evgeny Mankov 91ef7b50e5 [HIPIFY][tests] add new line at the end of file 2018-02-01 17:36:45 +03:00
Evgeny Mankov 7d71dfd1f7 [HIPIFY][tests] Add intro.cu test 2018-02-01 17:07:48 +03:00
Evgeny Mankov eef94a74bc [HIPIFY][tests] add poisson-api-example test
+ add missing types
+ doc update
2018-01-30 19:50:18 +03:00
Evgeny Mankov 2ae2693c8a [HIPIFY][tests] fix typo 2018-01-30 18:55:09 +03:00
Evgeny Mankov 58f2d3c93f [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 4df35f4c77 [HIPIFY][tests][win] Make cudaRegister.cu building on Windows as well 2018-01-24 20:13:23 +03:00
Evgeny Mankov 591aeccad3 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 aaa9559768 [HIPIFY][fix] CUDA and cuBLAS main headers correct handling 2018-01-23 23:43:36 +03:00
Evgeny Mankov 35bd23fb07 [HIPIFY][tests][win] Uncomment @echo off 2018-01-23 21:46:27 +03:00
Evgeny Mankov 8fae5663d2 [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 284d1cb4e3 [HIPIFY][tests] remove concurentKernels.cu as it is one of CUDA SDK samples. 2018-01-16 20:41:08 +03:00
Evgeny Mankov 8f84e7a4ee 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 b452cdb678 Merge pull request #323 from emankov/cudaBuiltins
[HIPIFY][tests] Remove checks on cudaBuiltins
2018-01-16 19:46:41 +03:00
Evgeny Mankov 3db7dc5b9e Update headers_test_03.cu 2018-01-16 19:21:59 +03:00
Evgeny Mankov 44d51e794b Update headers_test_04.cu 2018-01-16 19:21:14 +03:00
Evgeny Mankov 42f0966a9e [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 5c82a2e7fa [HIPIFY][tests] Add more suffixes to lit config 2018-01-16 16:40:31 +03:00
Evgeny Mankov e90a76a1ef [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 f83df46b8c [HIPIFY][#311][fix] Get rid of socat in run_test.sh 2018-01-15 14:20:37 +03:00
Evgeny Mankov 39a0372077 [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
Evgeny Mankov 1b7c9c6480 Merge pull request #310 from emankov/win_testing
[HIPIFY][tests] Add Windows testing support
2018-01-12 16:41:56 +03:00
Evgeny Mankov b32639d1a8 [HIPIFY][tests] Add setlocal to batch script 2018-01-10 21:03:02 +03:00
Evgeny Mankov 257bc4748c [HIPIFY][tests] Add Windows testing support 2018-01-09 20:20:28 +03:00
Evgeny Mankov 5a45d3ca84 [HIPIFY][FIX][#306] Eliminate second cuda main include directive
// hipified to #include<hip/hip_runtime.h>
#include<cuda.h> // 1st cuda main include (Driver API)
// to eliminate
#include<cuda_runtime.h> // 2nd cuda main include (Runtime API)

HIP has one header hip_runtime.h for both CUDA APIs, thus second cuda main include directive is eliminated entirely.
2017-12-26 20:54:54 +03:00
Chris Kitching 642af94492 Add an explicit check for proper rewriting of CUDA includes 2017-11-13 21:02:42 +00:00
Chris Kitching e8c1e7bb11 Add a preprocessor conditional to one of the tests
Hurrah, we can cope with ifdefs now (except for kernel launches)
2017-11-13 20:58:55 +00:00
Chris Kitching 0afc6b2e95 Add a test that exposes #260 2017-11-13 16:18:15 +00:00
Chris Kitching 4353fc06d7 Add a couple of missing CHECK directives to concurrentKernels.cu 2017-11-13 16:17:19 +00:00
Chris Kitching 6491c2c3eb Greatly enhance handling of macros in kernel launches
All but the most contrived use of macros is now properly handled -
have a look at the new testcases this commit adds. You can have
macros in kernel calls, macros spanning chunks of your arguments,
the call, call parameters, or callee can all be macros or
partially macros.
2017-10-26 17:28:46 +01:00
Chris Kitching 8d91579dcf Don't use now-defunct cmake variable in lit test config 2017-10-24 20:52:51 +01:00
Chris Kitching 2c65d0da37 Add concurentKernels.cu to the testsuite 2017-10-23 13:39:37 +01:00
Chris Kitching 64d5f07050 Add the CUDA samples include dir to the path for tests
Means we get to easily steal CUDA examples for tests
2017-10-23 13:39:37 +01:00
Chris Kitching 2437b31939 Add cudaRegister.cu lit test 2017-10-23 13:39:37 +01:00
Chris Kitching ead79e5bf4 Add square.cu to lit testsuite 2017-10-23 13:39:37 +01:00
Chris Kitching c99dcbba8d Introduce a test runner script to simplify invocation
... And to use a standard, highly amusing trick for making
coloured output work.
2017-10-23 13:39:37 +01:00
Chris Kitching 5912f465bd Adapt lit test for the hipLaunchKernelGGL changes from before... 2017-10-23 13:39:37 +01:00
Chris Kitching 74fd64d5c1 Migrate lit test to using FileCheck, so failures are readable
It seems the test is already broken, but look how awesome the
error message is now:

/home/chris/HIP/tests/hipify-clang/axpy.cu:31:12: error: expected string not found in input
 // CHECK: hipLaunchKernel(HIP_KERNEL_NAME(axpy), dim3(1), dim3(kDataLen), 0, 0, a, device_x, device_y);
           ^
<stdin>:31:2: note: scanning from here
 //
 ^
<stdin>:33:2: note: possible intended match here
 hipLaunchKernelGGL(axpy, dim3(1), dim3(kDataLen), 0, 0, a, device_x, device_y);
 ^
2017-10-23 13:39:37 +01:00
Chris Kitching 9747578d09 Propagate the CUDA toolkit directory into the lit tests
Allows the tests to actually run... :D
2017-10-23 13:39:36 +01:00
Maneesh Gupta 11fd56ed5d clang-hipify -> hipify-clang. Also attempt to build it by default
Change-Id: I694e6c772f5347c820d9bd6c9aa61d6d9696911e
2016-10-05 13:06:22 +05:30