[all-commits] [llvm/llvm-project] 83ff0f: [Clang][OpenMP] Allow unified_shared_memory for Pa...
Michael Kruse via All-commits
all-commits at lists.llvm.org
Thu May 13 15:16:31 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 83ff0ff46337422171fb36f934bd56c2bc1be15c
https://github.com/llvm/llvm-project/commit/83ff0ff46337422171fb36f934bd56c2bc1be15c
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2021-05-13 (Thu, 13 May 2021)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/test/OpenMP/requires_codegen.cpp
Log Message:
-----------
[Clang][OpenMP] Allow unified_shared_memory for Pascal-generation GPUs.
The Pascal architecture supports the page migration engine required for
unified_shared_memory, as indicated by NVIDIA:
* https://developer.nvidia.com/blog/unified-memory-cuda-beginners/
* https://developer.nvidia.com/blog/beyond-gpu-memory-limits-unified-memory-pascal/
* https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#um-requirements
The limitation was introduced in D54493 which justified the cut-off by
the requirement for unified addressing. However, Unified Virtual
Addressing (UVA) is already available with sm20 (Fermi, Kepler,
Maxwell):
* https://docs.nvidia.com/cuda/gpudirect-rdma/index.html#basics-of-uva-cuda-memory-management
Unified shared memory might even be possible with these, but with
migration of entire allocations on kernel startup.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D101595
More information about the All-commits
mailing list