adding ability to build in llvm source tree, updated README
This commit is contained in:
+26
-13
@@ -1,18 +1,25 @@
|
||||
cmake_minimum_required(VERSION 2.8.8)
|
||||
if(${HIPIFY_STANDLONE})
|
||||
cmake_minimum_required(VERSION 2.8.8)
|
||||
|
||||
project(hipify)
|
||||
project(hipify)
|
||||
|
||||
find_package(LLVM REQUIRED PATHS ${LLVM_DIR} NO_DEFAULT_PATH)
|
||||
find_package(LLVM REQUIRED PATHS ${LLVM_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
|
||||
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
|
||||
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
|
||||
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
|
||||
|
||||
include_directories(${LLVM_INCLUDE_DIRS})
|
||||
link_directories(${LLVM_LIBRARY_DIRS})
|
||||
add_definitions(${LLVM_DEFINITIONS})
|
||||
include_directories(${LLVM_INCLUDE_DIRS})
|
||||
link_directories(${LLVM_LIBRARY_DIRS})
|
||||
add_definitions(${LLVM_DEFINITIONS})
|
||||
add_executable( hipify src/Cuda2Hip.cpp )
|
||||
else()
|
||||
set(LLVM_LINK_COMPONENTS
|
||||
Option
|
||||
Support
|
||||
)
|
||||
add_clang_executable(hipify src/Cuda2Hip.cpp)
|
||||
endif()
|
||||
|
||||
# Now build our tools
|
||||
add_executable(hipify src/Cuda2Hip.cpp)
|
||||
|
||||
# Link against LLVM and CLANG tools libraries
|
||||
target_link_libraries(hipify
|
||||
@@ -37,6 +44,12 @@ target_link_libraries(hipify
|
||||
LLVMOption
|
||||
LLVMCore)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11 -pthread -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS -D __STDC_FORMAT_MACROS -fno-rtti -fvisibility-inlines-hidden")
|
||||
if(${HIPIFY_STANDLONE})
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11 -pthread -fno-rtti -fvisibility-inlines-hidden")
|
||||
else()
|
||||
install(TARGETS hipify
|
||||
RUNTIME DESTINATION bin
|
||||
COMPONENT clang-extras)
|
||||
endif()
|
||||
|
||||
+31
-5
@@ -1,10 +1,36 @@
|
||||
# HIPIFY
|
||||
The CLANG-based HIPIFY tool - translates CUDA to [HIP](https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/blob/master/README.md)
|
||||
|
||||
# How to Build
|
||||
- Get LLVM and CLANG sources and build CLANG, then install it to a **LLVM_INSTALL_PATH** folder
|
||||
- make build dir for hipify and run the folloing commands there:
|
||||
# How to Build *standalone* tool
|
||||
- Get LLVM and CLANG sources, build them and install to a **LLVM_INSTALL_PATH** folder
|
||||
- mkdir for hipify, run cmake there and build the tool:
|
||||
```
|
||||
> cmake -DLLVM_DIR="LLVM_INSTALL_PATH" path_to_hipify_src
|
||||
> make
|
||||
git clone http://llvm.org/git/llvm.git llvm
|
||||
git clone http://llvm.org/git/clang.git llvm/tools/clang
|
||||
|
||||
mkdir llvm_build && cd llvm_build
|
||||
cmake -DCMAKE_INSTALL_PREFIX="LLVM_INSTALL_PATH" -DLLVM_TARGETS_TO_BUILD="X86;NVPTX;AMDGPU" ../llvm
|
||||
make && make install
|
||||
|
||||
git clone https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP-hipify.git path_to_hipify_src
|
||||
mkdir path_to_hipify_src/build && cd path_to_hipify_src/build
|
||||
cmake -DLLVM_DIR="LLVM_INSTALL_PATH" -DHIPIFY_STANDLONE=1 ..
|
||||
make
|
||||
```
|
||||
|
||||
# How to Build tool *in llvm source tree*
|
||||
- get LLVM, CLANG and clang-tools-extra sources
|
||||
- put hipify folder into llvm/tools/clang/tools/extra, add it to llvm/tools/clang/tools/extra/CMakeLists.txt
|
||||
- run cmake and build tool
|
||||
```
|
||||
git clone http://llvm.org/git/llvm.git llvm
|
||||
git clone http://llvm.org/git/clang.git llvm/tools/clang
|
||||
git clone http://llvm.org/git/clang-tools-extra.git llvm/tools/clang/tools/extra
|
||||
git clone https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP-hipify.git llvm/tools/clang/tools/extra/hipify
|
||||
echo "add_subdirectory(hipify)" >> llvm/tools/clang/tools/extra/CMakeLists.txt
|
||||
|
||||
mkdir llvm_build && cd llvm_build
|
||||
cmake -DLLVM_TARGETS_TO_BUILD="X86;NVPTX;AMDGPU" ../llvm
|
||||
make -C tools/clang/tools/extra/hipify
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user