Граф коммитов

278 Коммитов

Автор SHA1 Сообщение Дата
Evgeny Mankov effdffc006 [HIPIFY] Change CUDA Driver's functions' cuMemsetD32(Async) mapping
cuMemsetD32(Async) -> hipMemsetD32(Async) (was hipMemset(Async))

based on:
[#933] https://github.com/ROCm-Developer-Tools/HIP/pull/933


[ROCm/hip commit: a87d798d90]
2019-03-05 18:13:18 +03:00
Evgeny Mankov 55d9cd6a65 [HIPIFY][doc] Update README.md
+ Populate Dependencies section with upcoming LLVM versions
+ Add clang bugs for not working configs LLVM+CUDA
+ Update Testing section


[ROCm/hip commit: 391aa7221b]
2019-02-25 18:26:25 +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 32bbedaa55 [HIPIFY][BLAS] Restrict hipification to 'ROC' to BLAS library only
+ Add utility functions isToRoc, isHipUnsupported, isRocUnsupported, isUnsupported


[ROCm/hip commit: e93fe78648]
2019-02-07 13:17:05 +03:00
Evgeny Mankov af1b0a2834 [HIPIFY][BLAS] Support of hipifying cuBLAS to rocBLAS
[ROCm/hip commit: 389807095e]
2019-02-06 18:47:21 +03:00
Evgeny Mankov 0ebdc54f79 [HIPIFY] Introduce Verbose '-v' option as hipify's own
[ROCm/hip commit: ce28bc79ef]
2019-01-30 15:19:06 +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 6789cec88f [HIPIFY][fix][#867] Relative paths routines fixes and improvements
+ Always check for existence any file or dir, first of all, because real_path and make_absolute differ: real_path additionally performs access on file/dir.
+ Relative path routines in source files implemented similarly to dirs.
+ Error handling improvements.


[ROCm/hip commit: 1be38618e2]
2019-01-16 19:30:09 +03:00
Evgeny Mankov 2f5951d54c [HIPIFY] rename variables as requested in review
[ROCm/hip commit: e6c09bb9af]
2019-01-14 21:19:34 +03:00
Evgeny Mankov 225a0f3310 [HIPIFY] Introduce '-D' option as hipify-clang's one
+ '-D' might be set as hipify-clang option (before separator '--' or without specifying separator at all);
+ '-D' as a clang option might be specified as well (after options separator '--');
+ All defines specified as hipify-clang defines (before options separator '--') will be set after clang's ones and will redefine the same clang's ones.


[ROCm/hip commit: 13ffeb47ce]
2019-01-14 19:34:42 +03:00
Evgeny Mankov 937d78963b [HIPIFY] Introduce '-I' option as hipify-clang's one
+ '-I' might be set as hipify-clang option (before separator '--' or without specifying separator at all);
+ '-I' as a clang option might be specified as well (after options separator '--').


[ROCm/hip commit: 93aeb04cec]
2019-01-14 18:23:54 +03:00
Evgeny Mankov 1e63082cba [HIPIFY][cmake] Add header files to the project explicitly
[ROCm/hip commit: bd39d852f5]
2019-01-10 19:45:43 +03:00
Evgeny Mankov 3792d264c0 [HIPIFY] Introduce '--' option - a separator between hipify-clang and clang options
+ Append '--' to the end of hipify-clang options in case of its absence.

[Reason]
+ Avoid the necessity for the user in JSON compilation database specification.
  Otherwise:
  Error while trying to load a compilation database:
  Could not auto-detect compilation database for file "test.cu"

  Though the hipification will be performed correctly without JSON database.


[ROCm/hip commit: aa4c59ae0c]
2019-01-10 18:27:30 +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
Evgeny Mankov 9314f882f3 [HIPIFY][cmake][win] Add cmake versioning depending on Visual Studio version
[ROCm/hip commit: 96f8bd7e2b]
2019-01-09 16:44:12 +03:00
Evgeny Mankov e816f3e98a [HIPIFY][cmake] Add cmake versioning depending on CUDA version
[ROCm/hip commit: 8fb8ca02c8]
2019-01-09 13:59:48 +03:00
emankov 57b553324b [HIPIFY][fix][#851] make_absolute only in case of relative path
Otherwise return the input path.


[ROCm/hip commit: bff9e1ebe2]
2019-01-06 17:58:37 +03:00
emankov 60adc94cad [HIPIFY][fix][#849] Create temporary file based on source file name only
[ROCm/hip commit: 4a475a9db6]
2019-01-05 14:52:15 +03:00
emankov 3fa069c87d [HIPIFY][cmake] Change min supported version of cmake to 3.12.3
[Reason]
CUDA 10 is supported by cmake since 3.12.3.


[ROCm/hip commit: 8a54ef365b]
2019-01-04 19:10:11 +03:00
emankov e371a45400 [HIPIFY][cmake][win] check for Visual Studio version
hipify-clang could be built by Visual Studio 14 2015 or higher.

[Reason]
hipify-clang contains c++14 features which are not supported even by the latest VS 2013 and the Platform Toolset "Visual C++ Compiler Nov 2013 CTP".


[ROCm/hip commit: cd15a85663]
2019-01-04 18:52:28 +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 dc9f785152 [HIPIFY][fix] Change system includes order
'include/cuda_wrappers' should go first.


[ROCm/hip commit: c09022232a]
2018-12-29 22:10:00 +03:00
emankov 01a335b975 [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.


[ROCm/hip commit: c519c89abf]
2018-12-29 21:53:18 +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
emankov 279550644e [HIPIFY] LLVM compatibility
+ sys::fs::make_absolute fro LLVM < 5.0
+ sys::fs::real_path for LLVM >= 5.0


[ROCm/hip commit: 208d7cfaf1]
2018-12-28 01:34:35 +03:00
emankov eb90a74c3e [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.


[ROCm/hip commit: 912c4710ed]
2018-12-27 17:00:18 +03:00
emankov 708367f299 [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.


[ROCm/hip commit: c8d720081f]
2018-12-26 16:30:41 +03:00
emankov f8f00472f8 [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.


[ROCm/hip commit: cc59af5dbd]
2018-12-22 00:47:19 +03:00
emankov 41901c007e [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


[ROCm/hip commit: 8bf3b42e7e]
2018-12-20 20:43:50 +03:00
emankov 13126143ed [HIPIFY] Add the legal right comment to all the sources
[ROCm/hip commit: fcaf954998]
2018-12-20 18:47:57 +03:00
Evgeny Mankov c0c5fbf0b7 [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


[ROCm/hip commit: da6fdc0397]
2018-12-17 20:48:48 +03:00
Evgeny Mankov e29a80e5f2 [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


[ROCm/hip commit: bffacb6c72]
2018-12-13 18:35:45 +03:00
Evgeny Mankov 13faaec7b5 [HIPIFY][fix] Fixer for #801
[issue #801] Errors in hipification statistics


[ROCm/hip commit: 9d223f0f65]
2018-12-12 21:33:00 +03:00
Evgeny Mankov 3621afd4e6 [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


[ROCm/hip commit: c5ed25da22]
2018-12-06 21:52:54 +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
Maneesh Gupta e2bc3e49a5 Merge pull request #748 from mkuron/getsymboladdress
Implement hipGetSymbolAddress and hipGetSymbolSize

[ROCm/hip commit: bcea027bf1]
2018-11-21 10:32:01 +05:30
emankov f110bfe634 [HIPIFY][SPARSE] Data types support
+ Add all cuSPARSE types
+ Update CUSPARSE_API_supported_by_HIP.md
+ Update README.md


[ROCm/hip commit: 47aeaecec8]
2018-11-21 01:31:02 +03:00
emankov f5f06217a8 [HIPIFY][SPARSE] Initial support
[ROCm/hip commit: 30c387a811]
2018-11-20 17:58:05 +03:00