Skip to content

Commit

Permalink
Merge pull request #156 from emankov/master
Browse files Browse the repository at this point in the history
[HIPIFY][doc] LLVM 10.0.1 - the latest supported LLVM release
  • Loading branch information
emankov authored Jul 21, 2020
2 parents a019b69 + b4a9243 commit f5349f5
Showing 1 changed file with 36 additions and 36 deletions.
72 changes: 36 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ After applying all the matchers, the output HIP source is produced.

`hipify-clang` requires:

1. [**LLVM+CLANG**](http://releases.llvm.org) of at least version [3.8.0](http://releases.llvm.org/download.html#3.8.0); the latest stable and recommended release: [**10.0.0**](http://releases.llvm.org/download.html#10.0.0).
1. [**LLVM+CLANG**](http://releases.llvm.org) of at least version [3.8.0](http://releases.llvm.org/download.html#3.8.0); the latest stable and recommended release: [**10.0.1**](https://github.com/llvm/llvm-project/releases/tag/llvmorg-10.0.1).

2. [**CUDA**](https://developer.nvidia.com/cuda-downloads) of at least version [7.0](https://developer.nvidia.com/cuda-toolkit-70), the latest supported version is [**11.0**](https://developer.nvidia.com/cuda-downloads).

Expand All @@ -67,15 +67,15 @@ After applying all the matchers, the output HIP source is produced.
| [8.0.1](http://releases.llvm.org/download.html#8.0.1) | [10.0](https://developer.nvidia.com/cuda-10.0-download-archive) | - <br/> not working due to <br/> the clang's bug [38811](https://bugs.llvm.org/show_bug.cgi?id=38811) <br/>+<br/>[patch](patches/patch_for_clang_8.0.1_bug_38811.zip)*</br> | + |
| [9.0.0](http://releases.llvm.org/download.html#9.0.0) | [10.1](https://developer.nvidia.com/cuda-10.1-download-archive-base) | + | + |
| [9.0.1](http://releases.llvm.org/download.html#9.0.1) | [10.1](https://developer.nvidia.com/cuda-10.1-download-archive-base) | + | + |
| [**10.0.0**](http://releases.llvm.org/download.html#10.0.0)| [**11.0**](https://developer.nvidia.com/cuda-downloads) | + <br/> **LATEST STABLE RELEASE** | + <br/> **LATEST STABLE RELEASE** |
| [10.0.1-rc4](https://github.com/llvm/llvm-project/releases/tag/llvmorg-10.0.1-rc4) | [11.0](https://developer.nvidia.com/cuda-downloads) | + | + |
| [10.0.0](http://releases.llvm.org/download.html#10.0.0) | [11.0](https://developer.nvidia.com/cuda-downloads) | + | + |
| [**10.0.1**](https://github.com/llvm/llvm-project/releases/tag/llvmorg-10.0.1) | [**11.0**](https://developer.nvidia.com/cuda-downloads) | + <br/> **LATEST STABLE RELEASE** | + <br/> **LATEST STABLE RELEASE** |

`*` Download the patch and unpack it into your `LLVM` distributive directory; a few header files will be overwritten; rebuilding of `LLVM` is not needed.

In most cases, you can get a suitable version of `LLVM+CLANG` with your package manager.

Failing that or having multiple versions of `LLVM`, you can [download a release archive](http://releases.llvm.org/), build or install it, and set
[CMAKE_PREFIX_PATH](https://cmake.org/cmake/help/v3.5/variable/CMAKE_PREFIX_PATH.html) so `cmake` can find it; for instance: `-DCMAKE_PREFIX_PATH=d:\LLVM\10.0.0\dist`
[CMAKE_PREFIX_PATH](https://cmake.org/cmake/help/v3.5/variable/CMAKE_PREFIX_PATH.html) so `cmake` can find it; for instance: `-DCMAKE_PREFIX_PATH=d:\LLVM\10.0.1\dist`

### <a name="hipify-clang-usage"></a> hipify-clang: usage

Expand Down Expand Up @@ -156,7 +156,7 @@ Run `Visual Studio 16 2019`, open the generated `LLVM.sln`, build all, build pro

**LLVM 10.0.0 or newer:**

1. download [`LLVM project`](https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/llvm-project-10.0.0.tar.xz) sources;
1. download [`LLVM project`](https://github.com/llvm/llvm-project/archive/llvmorg-10.0.1.tar.gz) sources;
2. build [`LLVM project`](http://llvm.org/docs/CMake.html):

**Linux**:
Expand Down Expand Up @@ -219,21 +219,21 @@ Run `Visual Studio 16 2019`, open the generated `LLVM.sln`, build all, build pro

* Install `lit` into `python`:

- ***Linux***: `python /srv/git/LLVM/10.0.0/llvm/utils/lit/setup.py install`
- ***Linux***: `python /srv/git/LLVM/10.0.1/llvm/utils/lit/setup.py install`

- ***Windows***: `python d:/LLVM/10.0.0/llvm/utils/lit/setup.py install`
- ***Windows***: `python d:/LLVM/10.0.1/llvm/utils/lit/setup.py install`

* Starting with LLVM 6.0.1 path to `llvm-lit` python script should be specified by the `LLVM_EXTERNAL_LIT` option:

- ***Linux***: `-DLLVM_EXTERNAL_LIT=/srv/git/LLVM/10.0.0/build/bin/llvm-lit`
- ***Linux***: `-DLLVM_EXTERNAL_LIT=/srv/git/LLVM/10.0.1/build/bin/llvm-lit`

- ***Windows***: `-DLLVM_EXTERNAL_LIT=d:/LLVM/10.0.0/build/Release/bin/llvm-lit.py`
- ***Windows***: `-DLLVM_EXTERNAL_LIT=d:/LLVM/10.0.1/build/Release/bin/llvm-lit.py`

* `FileCheck`:

- ***Linux***: copy from `/srv/git/LLVM/10.0.0/build/bin/` to `CMAKE_INSTALL_PREFIX/dist/bin`
- ***Linux***: copy from `/srv/git/LLVM/10.0.1/build/bin/` to `CMAKE_INSTALL_PREFIX/dist/bin`

- ***Windows***: copy from `d:/LLVM/10.0.0/build/Release/bin` to `CMAKE_INSTALL_PREFIX/dist/bin`
- ***Windows***: copy from `d:/LLVM/10.0.1/build/Release/bin` to `CMAKE_INSTALL_PREFIX/dist/bin`

- Or specify the path to `FileCheck` in `CMAKE_INSTALL_PREFIX` option

Expand All @@ -247,7 +247,7 @@ On Linux the following configurations are tested:

Ubuntu 14: LLVM 5.0.0 - 7.1.0, CUDA 7.0 - 9.0, cuDNN 5.0.5 - 7.6.5.32

Ubuntu 16-18: LLVM 8.0.0 - 10.0.1-rc4, CUDA 8.0 - 11.0, cuDNN 5.1.10 - 8.0.1.13
Ubuntu 16-18: LLVM 8.0.0 - 10.0.1, CUDA 8.0 - 11.0, cuDNN 5.1.10 - 8.0.1.13

Minimum build system requirements for the above configurations:

Expand All @@ -260,11 +260,11 @@ cmake
-DHIPIFY_CLANG_TESTS=1 \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=../dist \
-DCMAKE_PREFIX_PATH=/srv/git/LLVM/10.0.0/dist \
-DCMAKE_PREFIX_PATH=/srv/git/LLVM/10.0.1/dist \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-11.0 \
-DCUDA_DNN_ROOT_DIR=/srv/CUDNN/cudnn-11.0-v8.0.1.13 \
-DCUDA_CUB_ROOT_DIR=/srv/git/CUB \
-DLLVM_EXTERNAL_LIT=/srv/git/LLVM/10.0.0/build/bin/llvm-lit \
-DLLVM_EXTERNAL_LIT=/srv/git/LLVM/10.0.1/build/bin/llvm-lit \
..
```
*A corresponding successful output:*
Expand All @@ -283,14 +283,14 @@ cmake
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found LLVM 10.0.0:
-- - CMake module path: /srv/git/LLVM/10.0.0/dist/lib/cmake/llvm
-- - Include path : /srv/git/LLVM/10.0.0/dist/include
-- - Binary path : /srv/git/LLVM/10.0.0/dist/bin
-- Found LLVM 10.0.1:
-- - CMake module path: /srv/git/LLVM/10.0.1/dist/lib/cmake/llvm
-- - Include path : /srv/git/LLVM/10.0.1/dist/include
-- - Binary path : /srv/git/LLVM/10.0.1/dist/bin
-- Linker detection: GNU ld
-- Found PythonInterp: /usr/bin/python2.7 (found suitable version "2.7.12", minimum required is "2.7")
-- Found lit: /usr/local/bin/lit
-- Found FileCheck: /srv/git/LLVM/10.0.0/dist/bin/FileCheck
-- Found FileCheck: /srv/git/LLVM/10.0.1/dist/bin/FileCheck
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
Expand All @@ -313,7 +313,7 @@ make test-hipify
Running HIPify regression tests
========================================
CUDA 11.0 - will be used for testing
LLVM 10.0.0 - will be used for testing
LLVM 10.0.1 - will be used for testing
x86_64 - Platform architecture
Linux 5.2.0 - Platform OS
64 - hipify-clang binary bitness
Expand Down Expand Up @@ -397,15 +397,15 @@ Testing Time: 3.23s
*Tested configurations:*
| **LLVM** | **CUDA** | **cuDNN** | **Visual Studio (latest)**| **cmake** | **Python** |
|:-------------------:|------------:|--------------------:|--------------------------:|----------:|-----------:|
| 5.0.0 - 5.0.2 | 8.0 | 5.1.10 - 7.1.4.18 | 2017.15.5.2 | 3.5.1 | 3.6.4 |
| 6.0.0 - 6.0.1 | 9.0 | 7.0.5.15 - 7.6.5.32 | 2017.15.5.5 | 3.6.0 | 3.7.2 |
| 7.0.0 - 7.1.0 | 9.2 | 7.6.5.32 | 2017.15.9.11 | 3.13.3 | 3.7.3 |
| 8.0.0 - 8.0.1 | 10.0 | 7.6.5.32 | 2017.15.9.15 | 3.14.2 | 3.7.4 |
| 9.0.0 - 9.0.1 | 10.1 | 7.6.5.32 | 2017.15.9.20, 2019.16.4.5 | 3.16.4 | 3.8.0 |
| 10.0.0 - 10.0.1-rc4 | 10.0 - 11.0 | 7.6.5.32 - 8.0.1.13 | 2017.15.9.24, 2019.16.6.3 | 3.17.3 | 3.8.3 |
| 12.0.0git | 10.0 - 11.0 | 7.6.5.32 - 8.0.1.13 | 2017.15.9.25, 2019.16.6.4 | 3.18.0 | 3.8.4 |
| **LLVM** | **CUDA** | **cuDNN** | **Visual Studio (latest)**| **cmake** | **Python** |
|:---------------:|------------:|--------------------:|--------------------------:|----------:|-----------:|
| 5.0.0 - 5.0.2 | 8.0 | 5.1.10 - 7.1.4.18 | 2017.15.5.2 | 3.5.1 | 3.6.4 |
| 6.0.0 - 6.0.1 | 9.0 | 7.0.5.15 - 7.6.5.32 | 2017.15.5.5 | 3.6.0 | 3.7.2 |
| 7.0.0 - 7.1.0 | 9.2 | 7.6.5.32 | 2017.15.9.11 | 3.13.3 | 3.7.3 |
| 8.0.0 - 8.0.1 | 10.0 | 7.6.5.32 | 2017.15.9.15 | 3.14.2 | 3.7.4 |
| 9.0.0 - 9.0.1 | 10.1 | 7.6.5.32 | 2017.15.9.20, 2019.16.4.5 | 3.16.4 | 3.8.0 |
| 10.0.0 - 10.0.1 | 10.0 - 11.0 | 7.6.5.32 - 8.0.1.13 | 2017.15.9.25, 2019.16.6.4 | 3.18.0 | 3.8.4 |
| 12.0.0git | 10.0 - 11.0 | 7.6.5.32 - 8.0.1.13 | 2017.15.9.25, 2019.16.6.4 | 3.18.0 | 3.8.4 |
*Building with testing support by `Visual Studio 16 2019` on `Windows 10`:*
Expand All @@ -416,24 +416,24 @@ cmake
-DHIPIFY_CLANG_TESTS=1 \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=../dist \
-DCMAKE_PREFIX_PATH=d:/LLVM/10.0.0/dist \
-DCMAKE_PREFIX_PATH=d:/LLVM/10.0.1/dist \
-DCUDA_TOOLKIT_ROOT_DIR="c:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.0" \
-DCUDA_SDK_ROOT_DIR="c:/ProgramData/NVIDIA Corporation/CUDA Samples/v11.0" \
-DCUDA_DNN_ROOT_DIR=d:/CUDNN/cudnn-11.0-windows10-x64-v8.0.1.13 \
-DCUDA_CUB_ROOT_DIR=d:/GIT/cub \
-DLLVM_EXTERNAL_LIT=d:/LLVM/10.0.0/build/Release/bin/llvm-lit.py \
-DLLVM_EXTERNAL_LIT=d:/LLVM/10.0.1/build/Release/bin/llvm-lit.py \
-Thost=x64
..
```
*A corresponding successful output:*
```shell
-- Found LLVM 10.0.0:
-- - CMake module path: d:/LLVM/10.0.0/dist/lib/cmake/llvm
-- - Include path : d:/LLVM/10.0.0/dist/include
-- - Binary path : d:/LLVM/10.0.0/dist/bin
-- Found LLVM 10.0.1:
-- - CMake module path: d:/LLVM/10.0.1/dist/lib/cmake/llvm
-- - Include path : d:/LLVM/10.0.1/dist/include
-- - Binary path : d:/LLVM/10.0.1/dist/bin
-- Found PythonInterp: c:/Program Files/Python38/python.exe (found suitable version "3.8.3", minimum required is "3.6")
-- Found lit: c:/Program Files/Python38/Scripts/lit.exe
-- Found FileCheck: d:/LLVM/10.0.0/dist/bin/FileCheck.exe
-- Found FileCheck: d:/LLVM/10.0.1/dist/bin/FileCheck.exe
-- Found CUDA: c:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.0 (found version "11.0")
-- Configuring done
-- Generating done
Expand Down

0 comments on commit f5349f5

Please sign in to comment.