Graf Tiomantas

205 Tiomáintí

Údar SHA1 Teachtaireacht Dáta
emankov 61593291fd [HIPIFY][fix][#851] make_absolute only in case of relative path
Otherwise return the input path.
2019-01-06 17:58:37 +03:00
emankov 50ba722a2d [HIPIFY][fix][#849] Create temporary file based on source file name only 2019-01-05 14:52:15 +03:00
emankov 158b358c5b [HIPIFY][fix] Change system includes order
'include/cuda_wrappers' should go first.
2018-12-29 22:10:00 +03:00
emankov e9589e3330 [HIPIFY] Add system includes for packaged hipify-clang to use it without the necessity of installing clang
Header files in those dirs are an integral part of clang, which includes wrapper headers for CUDA.
There is no need in checking those dirs.

[Reasons]
1. clang will not take into account empty or irrelevant include dirs;
2. Packages for different clang versions will have different header files in the above dirs.
2018-12-29 21:53:18 +03:00
emankov cea1e5a1a6 [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 b24e89b40f [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
emankov 723c58afa4 [HIPIFY] LLVM compatibility
+ sys::fs::make_absolute fro LLVM < 5.0
+ sys::fs::real_path for LLVM >= 5.0
2018-12-28 01:34:35 +03:00
emankov 8f415def6f [HIPIFY] Use sys::fs::createTemporaryFile without file creation
[Reasons]
+ File is opened further by clang
+ There is a regression with LLVM 5.x, when system error occurs: temporary file couldn't be renamed - permission denied.
2018-12-27 17:00:18 +03:00
emankov c65338fbf7 [HIPIFY] Introduce option -o-dir
Option -o-dir for output directory:
  + if not specified source file(s) directory is used;
  + creates the directory if the directory doesn't exist (only one level in a tree);
  + if -o and -o-dir both are specified the hipified file is placed to "-o-dir" + "-o";
  + reports an error in case of a wrong directory specified, in case of necessity of creating a tree of subfolders, or in case of a filename specified.
2018-12-26 16:30:41 +03:00
emankov 7cac7dbfea [HIPIFY][#812] Finishing with temps
1. Option -temp-dir for temporary directory:
  + if not specified system temp is used;
  + creates the directory if the directory doesn't exist (only one level in a tree);
  + reports an error in case of a wrong directory specified, in case of necessity of creating a tree of subfolders, or in case of a filename specified.
2. Option -save-temps for preserving temporary files:
  + if specified temporary files are not being deleted from system temps and user temps as well.
3. Work with files in terms of calculated absolute paths by collapsing all '.' and '..' patterns, resolving symlinks and expanding '~' expression to the user's home directory:
  + to produce correct include paths;
  + to avoid possible errors on file routines.
2018-12-22 00:47:19 +03:00
emankov cb598445f5 [HIPIFY][fix][#824] Fix the bug with -inplace option
+ Do temp file copying instead of renaming
+ Replace all file routine functions with LLVM's
+ Do not output hipified file in case of errors
2018-12-20 20:43:50 +03:00
emankov 340550cc56 [HIPIFY] Add the legal right comment to all the sources 2018-12-20 18:47:57 +03:00
Evgeny Mankov 1180928408 [HIPIFY] Temporary files in system temps introducing
+ Files are not being placed near original source before hipification anymore, system tmp is used for them now.
+ Additional include (-I) to absolute original source dir is added
+ Partially implements #812
+ Tested on windows/linux, single/multiple inputs, with and without includes to user header files
2018-12-17 20:48:48 +03:00
Evgeny Mankov 1e30cd3ea7 [HIPIFY][fix] Fix for the rest of found bugs in Statistics
+ Signs of the converted file are extended
+ Total converted lines and total elapsed time are fixed
+ Zero rates are excluded from statistics
2018-12-13 18:35:45 +03:00
Evgeny Mankov 8d28db9c8d [HIPIFY][fix] Fixer for #801
[issue #801] Errors in hipification statistics
2018-12-12 21:33:00 +03:00
Evgeny Mankov 747eb2c11c [HIPIFY] Initial support of translation to ROCm
+ Option '-roc' is added to translate to ROCm instead of HIP
+ Update hipification mechanism accordingly
+ Populate all translation maps with additional field for ROCm identifiers
+ There are 4 degrees of CUDA support now: full support, only by HIP, only by ROCm, unsupported
2018-12-06 21:52:54 +03:00
Evgeny Mankov a421aff96d [HIPIFY][SPARSE] Add 3 more CUDA 10.0 tests
+ lit update
+ fix typos
2018-12-04 19:24:29 +03:00
Evgeny Mankov 424e4c8229 [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 e8054fe485 [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 ef99d6dee4 [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 e90373c927 [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 c75b3c444b [HIPIFY][SPARSE] Extra functions
+ cuSPARSE_04 test
+ update CUSPARSE_API_supported_by_HIP.md
2018-11-27 12:41:50 +03:00
Evgeny Mankov a384efcecf [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 a04788ffa7 [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 40d3184dd1 Merge pull request #748 from mkuron/getsymboladdress
Implement hipGetSymbolAddress and hipGetSymbolSize
2018-11-21 10:32:01 +05:30
emankov 732374233c [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 f66388bd05 [HIPIFY][SPARSE] Initial support 2018-11-20 17:58:05 +03:00
Michael Kuron e9b88711e2 Merge branch 'master' into getsymboladdress 2018-11-20 12:03:22 +01:00
Evgeny Mankov d28c89830d [HIPIFY] Move Complex API types and functions to separate files 2018-11-19 21:04:47 +03:00
Evgeny Mankov 1472478194 [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 b087a7f275 [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 0b6f5791f8 Implement hipGetSymbolAddress and hipGetSymbolSize 2018-11-04 10:39:34 +01:00
Evgeny Mankov 48abb4a36b [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 2ab8e92195 [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 3489fe9ca1 [HIPIFY][fix] Return back cudaDeviceProp's struct field warpSize to hipWarpSize mapping. 2018-10-30 15:53:00 +03:00
Evgeny Mankov 2af2827a05 [HIPIFY] Modify HIP types to conform to CUDA's ones 2018-10-29 20:51:25 +03:00
Evgeny Mankov 41bc184e90 [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 75972cb51d [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 865c6f23c7 [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 9a1a511c84 [HIPIFY] Code cleanup and formatting 2018-10-15 15:27:37 +03:00
Evgeny Mankov cb4eb94174 [HIPIFY] CUDA 10.0 Driver API initial support 2018-10-03 20:29:22 +03:00
Evgeny Mankov d12c1f7eff 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 65035fa485 [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 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 4e0d07f07a [HIPIFY] Support of cudaComputeMode / CUcomputemode
+ update docs
+ fix typo in hip_runtime_api.h
2018-07-14 16:08:19 +03:00
Evgeny Mankov b9c15702d2 [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 22dffde22e [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