Γράφημα Υποβολών

297 Υποβολές

Συγγραφέας SHA1 Μήνυμα Ημερομηνία
Evgeny Mankov aed2affda2 [HIPIFY][cuDNN] Add cudnnGetFilter4dDescriptor support
+ Update cudnn_convolution_forward test accordingly
2019-05-16 16:36:23 +03:00
Evgeny Mankov fa3dda9107 [HIPIFY][fix][#1109] Do not preserve extern __shared__ for IncompleteArrayType
+ Update tests accordingly
2019-05-15 20:05:56 +03:00
Evgeny Mankov d74d03aa74 [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).
2019-05-14 16:43:44 +03:00
Evgeny Mankov 6b370e7743 [HIPIFY][python] Initial support of hipify-python generation from hipify-clang
+ Only a generation of transformation map of CUDA entities is implemented.
+ 2 hipify-clang options are added: -python, -o-python-map-dir.
+ Explicitly set -roc option for cuda_to_hip_mappings.py generation.
+ Generated file already might be used by pytorch team.
2019-05-08 19:08:55 +03:00
Evgeny Mankov 9ddc316fa7 [HIPIFY][perl] Support of hipify-perl generation from hipify-clang: next steps
+ Generate transformation map sorted by entity type.
+ Add a generation of supported header files.
2019-05-08 15:25:06 +03:00
Evgeny Mankov 5a3d33a338 [HIPIFY][perl] Initial support of hipify-perl generation from hipify-clang
+ Only a generation of transformation map of CUDA entities supported by HIP is implemented.
+ 3 hipify-clang options are added: -perl, -o-perl-map, -o-perl-map-dir.
+ OptionsParser mode is changed from OneOrMore to Optional to support hipify-perl generation without actual hipification.
+ Add explicit control of source files specification absence in case of no perl generation.
2019-05-07 17:27:34 +03:00
Evgeny Mankov c0705f892b [HIPIFY][doc] Update Readme.md: latest cuDNN 7.5.1.10 is supported
+ tested with CUDA 9.0, 9,2, 10.0 and 10.1
2019-04-29 15:41:08 +03:00
Evgeny Mankov 3fee0f3765 [HIPIFY][DNN] cudnnSetFilter4dDescriptor support 2019-04-25 12:18:51 +03:00
Evgeny Mankov 6d3c443234 [HIPIFY][fix][#204] Suppress warning message: #pragma once in main file 2019-04-24 20:35:52 +03:00
Evgeny Mankov 4651dce3f0 [HIPIFY][doc] Update README.md
+ A few words about clang patches to work with CUDA 9.2 - 10.0 on Windows;
+ Fix cuDNN versions with correct values.
2019-04-24 17:40:35 +03:00
Evgeny Mankov 57931b3056 [HIPIFY][doc] Provide patches for clang's bug 38811
+ Update Readme.md accordingly
2019-04-23 21:13:00 +03:00
Evgeny Mankov e1c87d8cae [HIPIFY][SPARSE] cuSPARSE 10.1 support 2019-04-16 14:59:44 +03:00
Evgeny Mankov 032c3bf5b8 [HIPIFY][BLAS] cuBLAS 10.1 support 2019-04-16 12:52:58 +03:00
Evgeny Mankov 1b36987c5f [HIPIFY][cuDNN] Add partial cudnnRNNBiasMode_t support 2019-04-16 11:01:01 +03:00
Evgeny Mankov d3a810ab11 [HIPIFY] cuDNN 7.5.0.56 support 2019-04-15 15:46:46 +03:00
Evgeny Mankov d2d2889bfe [HIPIFY] CUDA 10.1 Runtime API support 2019-04-10 18:41:36 +03:00
Evgeny Mankov b0879cd959 [HIPIFY] CUDA 10.1 Driver API support 2019-04-10 15:03:34 +03:00
Evgeny Mankov 53091e5378 [HIPIFY][cmake][doc] Update CMakeLists and Readme cause CUDA 10.1 and clang 8.0.0 are released
+ Fix the error in cmake: clang 8.0.0 supports CUDA 10.0, not 10.1; only trunk clang 9.0.0 supports CUDA 10.1.
+ Update Readme:
  1. clang's bug 36384 is gone, so latest stable release for Linux is clang 8.0.0, which supports CUDA up to 10.0;
  2. update dependencies, testing and building notes.
2019-04-08 20:05:21 +03:00
Evgeny Mankov 7c221450fa [HIPIFY][cmake] Update CMakeLists and Readme cause CUDA 10.1 and clang 8.0.0 are released 2019-04-01 19:44:52 +03:00
Evgeny Mankov a87d798d90 [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
2019-03-05 18:13:18 +03:00
Evgeny Mankov 391aa7221b [HIPIFY][doc] Update README.md
+ Populate Dependencies section with upcoming LLVM versions
+ Add clang bugs for not working configs LLVM+CUDA
+ Update Testing section
2019-02-25 18:26:25 +03:00
Evgeny Mankov 2619f22e5c [HIPIFY][Caffe2] Initial Caffe2 support 2019-02-23 20:46:22 +03:00
Evgeny Mankov d26dc3cea7 [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
2019-02-13 19:40:59 +03:00
Evgeny Mankov 7ba8c440e6 [HIPIFY][RAND] revise
+ add missing functions
+ add minimum rocRAND support
+ updated CURAND_API_supported_by_HIP.md
2019-02-08 17:54:28 +03:00
Evgeny Mankov e93fe78648 [HIPIFY][BLAS] Restrict hipification to 'ROC' to BLAS library only
+ Add utility functions isToRoc, isHipUnsupported, isRocUnsupported, isUnsupported
2019-02-07 13:17:05 +03:00
Evgeny Mankov 389807095e [HIPIFY][BLAS] Support of hipifying cuBLAS to rocBLAS 2019-02-06 18:47:21 +03:00
Evgeny Mankov ce28bc79ef [HIPIFY] Introduce Verbose '-v' option as hipify's own 2019-01-30 15:19:06 +03:00
Evgeny Mankov 4ff355357f [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
2019-01-24 14:05:36 +03:00
Evgeny Mankov 1be38618e2 [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.
2019-01-16 19:30:09 +03:00
Evgeny Mankov e6c09bb9af [HIPIFY] rename variables as requested in review 2019-01-14 21:19:34 +03:00
Evgeny Mankov 13ffeb47ce [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.
2019-01-14 19:34:42 +03:00
Evgeny Mankov 93aeb04cec [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 '--').
2019-01-14 18:23:54 +03:00
Evgeny Mankov bd39d852f5 [HIPIFY][cmake] Add header files to the project explicitly 2019-01-10 19:45:43 +03:00
Evgeny Mankov aa4c59ae0c [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.
2019-01-10 18:27:30 +03:00
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
Evgeny Mankov 96f8bd7e2b [HIPIFY][cmake][win] Add cmake versioning depending on Visual Studio version 2019-01-09 16:44:12 +03:00
Evgeny Mankov 8fb8ca02c8 [HIPIFY][cmake] Add cmake versioning depending on CUDA version 2019-01-09 13:59:48 +03:00
emankov bff9e1ebe2 [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 4a475a9db6 [HIPIFY][fix][#849] Create temporary file based on source file name only 2019-01-05 14:52:15 +03:00
emankov 8a54ef365b [HIPIFY][cmake] Change min supported version of cmake to 3.12.3
[Reason]
CUDA 10 is supported by cmake since 3.12.3.
2019-01-04 19:10:11 +03:00
emankov cd15a85663 [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".
2019-01-04 18:52:28 +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 c09022232a [HIPIFY][fix] Change system includes order
'include/cuda_wrappers' should go first.
2018-12-29 22:10:00 +03:00
emankov c519c89abf [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 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
emankov 208d7cfaf1 [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 912c4710ed [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