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

26 Коммитов

Автор SHA1 Сообщение Дата
Evgeny Mankov 8477ab5d86 [HIPIFY] CUDA 10.2 (functions only)
+ Both Driver API and RT API are supported and synced with each other
+ Update *.md docs and hipify-perl accordingly
+ Add new conversion type "virtual_memory", introduced in Dirver API


[ROCm/clr commit: 43441eb99c]
2019-12-04 18:37:31 +03:00
Evgeny Mankov 62b86d1c76 [HIPIFY] Clang style formatting
[ROCm/clr commit: 7f143585f6]
2019-11-07 12:48:05 +03:00
Evgeny Mankov dc0186720c [HIPIFY][#1603] Fix
[ROCm/clr commit: 050fdad7b7]
2019-10-29 22:10:36 +03:00
Evgeny Mankov e066bba058 [HIPIFY][CUB] Initial support (hipify-clang only)
+ Add one matcher (will be more)
+ Update Maps and Statistics
+ Add cub_01.cu unit test
+ Update lit harness to support standalone CUB
+ Update README.md
+ Update hipify-perl (only CUB header is supported for now)

[IMPORTANT]
clang (and hipify-clang) works correctly only with official NVLabs version on GitHub.
Compilation of CUB from official CUDA release has conflicts with THRUST.
Thus, to compile CUB sources, option "-I" should be specified to the cloned CUB from NVLAB on GitHub.


[ROCm/clr commit: 97df38903a]
2019-10-14 11:55:55 +03:00
Evgeny Mankov 20496c8486 [HIPIFY] Reconcile transformation (statistics) types between hipify-clang and hipify-perl
+ Update hipify-perl accordingly


[ROCm/clr commit: b42a476614]
2019-09-29 17:33:37 +03:00
Evgeny Mankov 755d1a9ea6 [HIPIFY] Add device functions support
+ Add a corresponding matcher cudaDeviceFuncCall to match only (__device__ or __global__) and not __host__ functions.
+ Add a corresponding device functions mapping:
  only unsupported are listed, cause supported are exactly the same as of CUDA and do not need transformation;
  make FindAndReplace for device functions separated from host API calls.
+ Add a test to distinguish device functions and user-defined.


[ROCm/clr commit: aec10d6ee1]
2019-09-06 18:34:12 +03:00
Evgeny Mankov 197affbe2a [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.


[ROCm/clr commit: 0f4affde9c]
2019-05-08 19:08:55 +03:00
Evgeny Mankov e42eda2744 [HIPIFY][Caffe2] Initial Caffe2 support
[ROCm/clr commit: 59533a7309]
2019-02-23 20:46:22 +03:00
Evgeny Mankov d127c82b52 [HIPIFY][BLAS] Restrict hipification to 'ROC' to BLAS library only
+ Add utility functions isToRoc, isHipUnsupported, isRocUnsupported, isUnsupported


[ROCm/clr commit: 6160cff6ff]
2019-02-07 13:17:05 +03:00
emankov 7d9eaec992 [HIPIFY] Add the legal right comment to all the sources
[ROCm/clr commit: 340550cc56]
2018-12-20 18:47:57 +03:00
Evgeny Mankov 882620028c [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/clr commit: 1e30cd3ea7]
2018-12-13 18:35:45 +03:00
Evgeny Mankov d2e478546b [HIPIFY][fix] Fixer for #801
[issue #801] Errors in hipification statistics


[ROCm/clr commit: 8d28db9c8d]
2018-12-12 21:33:00 +03:00
Evgeny Mankov ccad9cbd80 [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/clr commit: 747eb2c11c]
2018-12-06 21:52:54 +03:00
emankov 2a9370f82e [HIPIFY][SPARSE] Initial support
[ROCm/clr commit: f66388bd05]
2018-11-20 17:58:05 +03:00
Evgeny Mankov 7b244965b6 [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


[ROCm/clr commit: 48abb4a36b]
2018-11-01 16:57:57 +03:00
Evgeny Mankov 8c98204b9c [HIPIFY] Modify HIP types to conform to CUDA's ones
[ROCm/clr commit: 2af2827a05]
2018-10-29 20:51:25 +03:00
Evgeny Mankov a533379e12 [HIPIFY] Code cleanup and formatting
[ROCm/clr commit: 9a1a511c84]
2018-10-15 15:27:37 +03:00
Evgeny Mankov a89c112545 [HIPIFY] CUDA 10.0 Driver API initial support
[ROCm/clr commit: cb4eb94174]
2018-10-03 20:29:22 +03:00
Evgeny Mankov dac14d60b7 [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


[ROCm/clr commit: ce57b99f9d]
2018-08-08 18:34:57 +03:00
Evgeny Mankov 66e24cb0d3 [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


[ROCm/clr commit: c57bfd50e3]
2018-07-31 22:25:48 +03:00
Evgeny Mankov d008022018 [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.


[ROCm/clr commit: 4d19bd1da5]
2018-05-03 11:33:40 +03:00
Evgeny Mankov 6974aca85f [HIPIFY] undo apply .clangformat to HIPIFY source files
[ROCm/clr commit: ad28f72ca9]
2018-04-23 20:22:15 +03:00
Maneesh Gupta 46ddefedee Apply .clangformat to all repo source files
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344


[ROCm/clr commit: 9e47fccc89]
2018-03-12 11:29:03 +05:30
Evgeny Mankov 2583a716a7 [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.


[ROCm/clr commit: 58f2d3c93f]
2018-01-29 18:33:47 +03:00
Evgeny Mankov fa4a5355e4 [HIPIFY] cuRAND lib support (partial - only Host)
[ROCm/clr commit: 2e2e38f163]
2018-01-19 17:38:51 +03:00
Chris Kitching 4e6ca773fa Decouple the statistics system from the code translation
The original implementation had the statistics system woken very
tightly into things like PPCallbacks, with counters duplicated
in two places, and all the output code duplicated. This made it
very difficult to alter the structure of the program without
breaking the statistics system.

Since the planned approach for solving the remaining preprocessor
bugs needs the introduction of a custom FrontendAction, and such
a restructure was incompatible with the way the statistics system
was set up, this rewrite was required.

'tis rather simpler now, mind you :D

This commit also fixes an issue where some stats were counted
twice, and allows `-print-stats` to operate independently of
`-stat-output`, allowing you to print stats to a file without
printing them to a terminal (or vice-versa).


[ROCm/clr commit: dd5a60054a]
2017-10-27 20:12:33 +01:00