Commit Graph

3166 Commits

Author SHA1 Message Date
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
Evgeny Mankov 2c12e75951 Merge pull request #838 from emankov/master
[HIPIFY] Get rid of setting '--cuda-gpu-arch='
2018-12-29 20:44:42 +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
Evgeny Mankov d70bc5b6c3 Merge pull request #837 from emankov/master
[HIPIFY] Starts implicitly setting '-x cuda' by hipify-clang itself
2018-12-29 18:20:21 +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
Evgeny Mankov b38a6b4744 Merge pull request #836 from emankov/master
[HIPIFY][win] Set -std=c++14 if MSVC
2018-12-29 16:56:56 +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 7cd4c4e9ac Merge pull request #834 from emankov/master
[HIPIFY] LLVM compatibility
2018-12-28 15:13:36 +03:00
Maneesh Gupta f71b7fb724 Merge pull request #835 from mangupta/ci-remove-roc-1.9.x
[ci] Remove ROCm 1.9.x from test infrastructure
2018-12-28 17:07:19 +05:30
Maneesh Gupta d5d6541ad5 [ci] Remove ROCm 1.9.x from test infrastructure
Change-Id: I58cce7c60f6def22f337bbe15fab2620419e202b
2018-12-28 11:23:52 +05:30
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
Evgeny Mankov bc1e8684d6 Merge pull request #833 from emankov/master
[HIPIFY] Use sys::fs::createTemporaryFile without file opening
2018-12-27 20:16:09 +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
Maneesh Gupta 8cbc3c49d2 Merge pull request #817 from aaronenyeshi/fix-rn-intrinsics
Add *_rn functions back into HIP intrinsics
2018-12-27 16:07:27 +05:30
Evgeny Mankov 2e99d910c0 Merge pull request #831 from emankov/master
[HIPIFY] Introduce option -o-dir
2018-12-27 13:36:12 +03:00
emankov c8d720081f [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
Evgeny Mankov 93e6010efa Merge pull request #829 from emankov/master
[HIPIFY][#812] Finishing with temps
2018-12-25 18:39:12 +03:00
emankov cc59af5dbd [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
Evgeny Mankov 64c2a7e065 Merge pull request #825 from emankov/master
[HIPIFY][fix][#824] Fix the bug with -inplace option
2018-12-21 18:37:15 +03:00
emankov 8bf3b42e7e [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
Evgeny Mankov e0649d4fa7 Merge pull request #822 from emankov/master
[HIPIFY] Add the legal right comment to all the sources
2018-12-20 18:53:09 +03:00
emankov fcaf954998 [HIPIFY] Add the legal right comment to all the sources 2018-12-20 18:47:57 +03:00
Evgeny Mankov 7f10399271 Merge pull request #816 from emankov/master
[HIPIFY] Temporary files in system temps introducing
2018-12-20 18:28:53 +03:00
Aaron Enye Shi 58dfeff27a Add *_rn functions back into HIP intrinsics
Add back the round-to-nearest-even intrinsics back to HIP math
intrinsics as it caused regression.
2018-12-18 19:31:54 +00:00
Evgeny Mankov da6fdc0397 [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 6596a1825a Merge pull request #809 from emankov/master
[HIPIFY][fix] Fix for the rest of found bugs in Statistics
2018-12-14 15:21:53 +03:00
Evgeny Mankov bffacb6c72 [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 4a58c0480b Merge pull request #802 from emankov/master
[HIPIFY][fix] Fix for #801
2018-12-13 14:40:00 +03:00
Evgeny Mankov 9d223f0f65 [HIPIFY][fix] Fixer for #801
[issue #801] Errors in hipification statistics
2018-12-12 21:33:00 +03:00
Evgeny Mankov 7741457dea Merge pull request #800 from emankov/master
[HIPIFY][tests][fix] Add correct CUDA version detection while testing
2018-12-12 18:30:03 +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
Maneesh Gupta 56ce3e37d5 Merge pull request #797 from gargrahul/fixhipPointerGetAttributes
Fixed hipPointerGetAttributes for hostmalloced ptr
2018-12-12 10:16:07 +05:30
Maneesh Gupta 0dd26b4f63 Merge pull request #608 from gargrahul/add_pinned_2d_sdma_copy
Added support for pinned 2D SDMA copy
2018-12-12 07:44:16 +05:30
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 f3d8d3d989 Merge pull request #789 from emankov/master
[HIPIFY] Initial support of translation to ROCm
2018-12-11 10:56:41 +03:00
Rahul Garg 5f12067708 Fixed hipPointerGetAttributes for hostmalloced ptr 2018-12-08 01:42:08 +05:30
Evgeny Mankov c5ed25da22 [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 d3654e12e4 Merge pull request #787 from emankov/master
[HIPIFY][tests] Reorganization
2018-12-04 20:48:48 +03:00
Evgeny Mankov 09612ac03f [HIPIFY][tests] Reorganization 2018-12-04 20:47:34 +03:00
Evgeny Mankov e083cc64eb Merge pull request #786 from emankov/master
[HIPIFY][SPARSE] Add 3 more CUDA 10.0 tests
2018-12-04 19:30:26 +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
Maneesh Gupta 0c8ba46b9f Merge pull request #785 from mangupta/ci-add-rocm_2_0
[ci] Add rocm-2.0.x to CI test infrastructure
2018-12-03 10:41:43 +05:30
Maneesh Gupta dc5b0a1fe0 [ci] Add rocm-2.0.x to CI test infrastructure
Change-Id: I7fc0c40d1bf50a90ce3e210f2c8e83d1f4bf6d5c
2018-12-03 08:54:13 +05:30
Evgeny Mankov 1ecfec2264 Merge pull request #784 from emankov/master
[HIPIFY][SPARSE] Matrix Reorderings and Format Conversion Reference
2018-11-30 15:35:14 +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
Maneesh Gupta dbe34ac6ac Merge pull request #783 from scchan/revert_metadata_for_kerarg
Revert metadata for kerarg
2018-11-30 09:39:42 +05:30
Siu Chi Chan 1fbf639962 Revert "Rely on code object metadat for kernarg arguments alignof and sizeof."
This reverts commit fe1e963299.
2018-11-29 11:38:37 -05:00
Siu Chi Chan 71189c10c1 Revert "Handle the very confusing dual encoding of the symbol name."
This reverts commit bce3de8162.
2018-11-29 11:38:36 -05:00
Siu Chi Chan 09f87e41d9 Revert "If we've already seen a __global__ function we do not need to re-parse"
This reverts commit f7ba987038.
2018-11-29 11:38:35 -05:00
Siu Chi Chan aeca2c8cdc Revert "Handle (odd) corner case of argumentless __global__ function."
This reverts commit c0bd1a5af8.
2018-11-29 11:38:34 -05:00