Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastián Barschkis <sebbas@sebbas.org>2021-09-13 16:03:52 +0300
committerSebastián Barschkis <sebbas@sebbas.org>2021-09-13 16:03:52 +0300
commit063ce7f550f1612ab0e34c4ecb4b57f8401b84b4 (patch)
tree53584b6c514510b0bab33a480b3ec85274b48a6b /build_files/build_environment/cmake/llvm.cmake
parent4b06420e65040c642d2b0a7a1c9bf7515d3cec0c (diff)
Fluid: Initial changes for OpenMP GPU supportfluid-mantaflow-gpu
Contains basic support for OpenMP GPU offloading. That is, offloading of fluid KERNEL loops to the GPU. This branch offloads pressure and advection calls only - the 2 most expensive operation per step. In theory though, any function can be offloaded. For now, this branch needs to be build with a compiler that supports Nvidia GPU offloading. Exact GPU models need to be specified via CMake.
Diffstat (limited to 'build_files/build_environment/cmake/llvm.cmake')
-rw-r--r--build_files/build_environment/cmake/llvm.cmake14
1 files changed, 13 insertions, 1 deletions
diff --git a/build_files/build_environment/cmake/llvm.cmake b/build_files/build_environment/cmake/llvm.cmake
index 7a8ce2ddfec..7f54e83c92e 100644
--- a/build_files/build_environment/cmake/llvm.cmake
+++ b/build_files/build_environment/cmake/llvm.cmake
@@ -30,6 +30,10 @@ if(APPLE)
set(BUILD_CLANG_TOOLS ON)
endif()
+if(UNIX AND NOT APPLE)
+ set(LLVM_BUILD_OPENMP ^^openmp)
+ set(LLVM_TARGETS ${LLVM_TARGETS} ^^NVPTX)
+endif()
set(LLVM_EXTRA_ARGS
-DLLVM_USE_CRT_RELEASE=MD
@@ -40,10 +44,18 @@ set(LLVM_EXTRA_ARGS
-DLLVM_ENABLE_TERMINFO=OFF
-DLLVM_BUILD_LLVM_C_DYLIB=OFF
-DLLVM_ENABLE_UNWIND_TABLES=OFF
- -DLLVM_ENABLE_PROJECTS=clang${LLVM_BUILD_CLANG_TOOLS_EXTRA}
+ -DLLVM_ENABLE_PROJECTS=clang${LLVM_BUILD_CLANG_TOOLS_EXTRA}${LLVM_BUILD_OPENMP}
${LLVM_XML2_ARGS}
)
+if(UNIX AND NOT APPLE)
+ list(APPEND LLVM_EXTRA_ARGS
+ -DCLANG_OPENMP_NVPTX_DEFAULT_ARCH=sm_61
+ -DLIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES=61
+ )
+endif()
+
+
if(WIN32)
set(LLVM_GENERATOR "Ninja")
else()