adding ability to build in llvm source tree, updated README

This commit is contained in:
dfukalov
2016-02-11 15:27:00 +03:00
orang tua 9d10ae4325
melakukan bae0f00e69
2 mengubah file dengan 57 tambahan dan 18 penghapusan
+26 -13
Melihat File
@@ -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
Melihat File
@@ -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
```