Skip to content

Commit

Permalink
remove nvcc11.0 and nvcc11.1 support (#2310)
Browse files Browse the repository at this point in the history
  • Loading branch information
mehmetyusufoglu authored Jul 9, 2024
1 parent 0775f7c commit 6ad09ba
Show file tree
Hide file tree
Showing 6 changed files with 7 additions and 43 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ concurrency:
# alpaka_ACC_ANY_BT_OMP5_ENABLE : {ON, OFF}
# [ON] OMP_NUM_THREADS : {1, 2, 3, 4}
# alpaka_ACC_GPU_CUDA_ENABLE : {ON, OFF}
# [ON] ALPAKA_CI_CUDA_VERSION : {11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6}
# [ON] ALPAKA_CI_CUDA_VERSION : {11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 12.0, 12.1, 12.2 12.3}
# [ON] CMAKE_CUDA_COMPILER : {nvcc, [CXX==clang++]:clang++}
# alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE : {ON, OFF}
# alpaka_ACC_GPU_HIP_ENABLE : {ON, OFF}
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ This library uses C++17 (or newer when available).
| OpenMP 2.0+ threads | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark:[^3] | :white_check_mark: | :white_check_mark: |
| std::thread | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| TBB | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| CUDA (nvcc) | :white_check_mark: <br/> (CUDA 11.0 - 12.3)[^2] | :white_check_mark: <br/> (CUDA 11.4 - 12.0)[^2] | :white_check_mark: <br/> (CUDA 12.0 - 12.3) | :x: | :white_check_mark: <br/> (CUDA 11.0-11.2; 11.6 - 12.0)[^2] | :white_check_mark: <br/> (CUDA 11.2, 11.6 - 12.0)[^2] | :white_check_mark: <br/> (CUDA 11.6 - 12.0)[^2] | :white_check_mark: <br/> (CUDA 11.7 - 12.0) | :white_check_mark: <br/> (CUDA 11.8 - 12.0) | :white_check_mark: <br/> (CUDA 12.2) | :white_check_mark: <br/> (CUDA 12.3) | :x: | :x: | :x: | :x: |
| CUDA (clang) | - | - | - | :x: | :x: | :x: | :x: | :x: | :white_check_mark: (CUDA 11.0 - 11.5) | :white_check_mark: (CUDA 11.0 - 11.5)[^1] | :white_check_mark: (CUDA 11.0 - 11.5)[^1] | :white_check_mark: (CUDA 11.0 - 11.8)[^1] | :x: | - | - |
| CUDA (nvcc) | :white_check_mark: <br/> (CUDA 11.2 - 12.3)[^2] | :white_check_mark: <br/> (CUDA 11.4 - 12.0)[^2] | :white_check_mark: <br/> (CUDA 12.0 - 12.3) | :x: | :white_check_mark: <br/> (CUDA 11.6 - 12.0)[^2] | :white_check_mark: <br/> (CUDA 11.2, 11.6 - 12.0)[^2] | :white_check_mark: <br/> (CUDA 11.6 - 12.0)[^2] | :white_check_mark: <br/> (CUDA 11.7 - 12.0) | :white_check_mark: <br/> (CUDA 11.8 - 12.0) | :white_check_mark: <br/> (CUDA 12.2) | :white_check_mark: <br/> (CUDA 12.3) | :x: | :x: | :x: | :x: |
| CUDA (clang) | - | - | - | :x: | :x: | :x: | :x: | :x: | :white_check_mark: (CUDA 11.2 - 11.5) | :white_check_mark: (CUDA 11.2 - 11.5)[^1] | :white_check_mark: (CUDA 11.2 - 11.5)[^1] | :white_check_mark: (CUDA 11.2 - 11.8)[^1] | :x: | - | - |
| [HIP](https://alpaka.readthedocs.io/en/latest/install/HIP.html) (clang) | - | - | - | :x: | :x: | :x: | :x: | :x: | :white_check_mark: (HIP 5.1 - 5.2) | :white_check_mark: (HIP 5.3 - 5.4) | :white_check_mark: (HIP 5.5 - 5.6) | :white_check_mark: (HIP 5.7 - 6.0) | :x: | - | - |
| SYCL | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :white_check_mark:[^4] | :x: | :x: |

Expand All @@ -91,7 +91,7 @@ Dependencies
The **alpaka** library itself just requires header-only libraries.
However some of the accelerator back-end implementations require different boost libraries to be built.

When an accelerator back-end using *CUDA* is enabled, version *11.0* (with nvcc as CUDA compiler) or version *9.2* (with clang as CUDA compiler) of the *CUDA SDK* is the minimum requirement.
When an accelerator back-end using *CUDA* is enabled, version *11.2* (with nvcc as CUDA compiler) or version *11.2* (with clang as CUDA compiler) of the *CUDA SDK* is the minimum requirement.
*NOTE*: When using clang as a native *CUDA* compiler, the *CUDA accelerator back-end* can not be enabled together with any *OpenMP accelerator back-end* because this combination is currently unsupported.
*NOTE*: Separable compilation is disabled by default and can be enabled via the CMake flag `CMAKE_CUDA_SEPARABLE_COMPILATION`.

Expand Down
16 changes: 2 additions & 14 deletions script/install_cuda.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,19 +36,7 @@ else
fi

# Set the correct CUDA downloads
if [ "${ALPAKA_CI_CUDA_VERSION}" == "11.0" ]
then
ALPAKA_CUDA_PKG_DEB_NAME=cuda-repo-"${ALPAKA_CUDA_DISTRO}"-11-0-local
ALPAKA_CUDA_PKG_FILE_NAME="${ALPAKA_CUDA_PKG_DEB_NAME}"_11.0.3-450.51.06-1_amd64.deb
ALPAKA_CUDA_PKG_FILE_PATH=https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/${ALPAKA_CUDA_PKG_FILE_NAME}
ALPAKA_CUDA_OLD_KEYS=true
elif [ "${ALPAKA_CI_CUDA_VERSION}" == "11.1" ]
then
ALPAKA_CUDA_PKG_DEB_NAME=cuda-repo-"${ALPAKA_CUDA_DISTRO}"-11-1-local
ALPAKA_CUDA_PKG_FILE_NAME="${ALPAKA_CUDA_PKG_DEB_NAME}"_11.1.1-455.32.00-1_amd64.deb
ALPAKA_CUDA_PKG_FILE_PATH=https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/${ALPAKA_CUDA_PKG_FILE_NAME}
ALPAKA_CUDA_OLD_KEYS=true
elif [ "${ALPAKA_CI_CUDA_VERSION}" == "11.2" ]
if [ "${ALPAKA_CI_CUDA_VERSION}" == "11.2" ]
then
ALPAKA_CUDA_PKG_DEB_NAME=cuda-repo-"${ALPAKA_CUDA_DISTRO}"-11-2-local
ALPAKA_CUDA_PKG_FILE_NAME="${ALPAKA_CUDA_PKG_DEB_NAME}"_11.2.2-460.32.03-1_amd64.deb
Expand Down Expand Up @@ -115,7 +103,7 @@ else
ALPAKA_CUDA_PKG_FILE_PATH=https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/${ALPAKA_CUDA_PKG_FILE_NAME}
ALPAKA_CUDA_OLD_KEYS=false
else
echo CUDA versions other than 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 12.0, 12.1, 12.2 and 12.3 are not currently supported on linux!
echo CUDA versions other than 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 12.0, 12.1, 12.2 and 12.3 are not currently supported on linux!
fi

# First install the local repository.
Expand Down
2 changes: 1 addition & 1 deletion script/job_generator/job_modifier.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ def add_job_parameters(job_matrix: List[Dict[str, Tuple[str, str]]]):

# This is a helper dictionary to find the latest minor version of a CUDA SDK major, used by a
# specific host compiler.
# e.g. We have CUDA SDK versions from 11.0 to 11.8 and 12.0 and 12.1. GCC as host compiler
# e.g. We have CUDA SDK versions from 11.2 to 11.8 and 12.0 and 12.1. GCC as host compiler
# supports all SDK versions, Clang as host compiler only the 11 versions and Clang as CUDA
# compiler only up to 11.5. So the result is (see CUDA_SDK_per_compiler later):
# {"GCC" : ["11.8", "12.1"], "Clang" : ["11.8"], "Clang-CUDA" : ["11.5"]}
Expand Down
2 changes: 0 additions & 2 deletions script/job_generator/versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@
GCC: ["9", "10", "11", "12", "13"],
CLANG: ["9", "10", "11", "12", "13", "14", "15", "16", "17"],
NVCC: [
"11.0",
"11.1",
"11.2",
"11.3",
"11.4",
Expand Down
22 changes: 0 additions & 22 deletions test/unit/mem/view/src/ViewConst.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,40 +74,18 @@ TEMPLATE_LIST_TEST_CASE("viewConstTest", "[memView]", alpaka::test::TestAccs)
alpaka::test::iotaFillView(queue, buf);
auto const offsets = alpaka::Vec<Dim, Idx>::all(static_cast<Idx>(0));

#if BOOST_COMP_NVCC && BOOST_COMP_NVCC < BOOST_VERSION_NUMBER(11, 2, 0)
auto view = alpaka::ViewConst<decltype(buf)>(buf);
#else
auto view = alpaka::ViewConst(buf);
#endif
alpaka::test::testViewConst<Acc>(view, dev, queue, extents, offsets);

#if BOOST_COMP_NVCC && BOOST_COMP_NVCC < BOOST_VERSION_NUMBER(11, 2, 0)
auto const cview = alpaka::ViewConst<decltype(buf)>(buf);
#else
auto const cview = alpaka::ViewConst(buf);
#endif
alpaka::test::testViewConst<Acc>(cview, dev, queue, extents, offsets);

#if BOOST_COMP_NVCC && BOOST_COMP_NVCC < BOOST_VERSION_NUMBER(11, 2, 0)
auto view_cbuf = alpaka::ViewConst<decltype(buf)>(std::as_const(buf));
#else
auto view_cbuf = alpaka::ViewConst(std::as_const(buf));
#endif
alpaka::test::testViewConst<Acc>(view_cbuf, dev, queue, extents, offsets);

#if BOOST_COMP_NVCC && BOOST_COMP_NVCC < BOOST_VERSION_NUMBER(11, 2, 0)
auto const cview_cbuf = alpaka::ViewConst<decltype(buf)>(std::as_const(buf));
#else
auto const cview_cbuf = alpaka::ViewConst(std::as_const(buf));
#endif
alpaka::test::testViewConst<Acc>(cview_cbuf, dev, queue, extents, offsets);

#if BOOST_COMP_NVCC && BOOST_COMP_NVCC < BOOST_VERSION_NUMBER(11, 2, 0)
using BufType = std::remove_const_t<decltype(cview_cbuf)>;
auto yolo = alpaka::ViewConst<alpaka::ViewConst<alpaka::ViewConst<BufType>>>(
alpaka::ViewConst<alpaka::ViewConst<BufType>>(alpaka::ViewConst<BufType>(cview_cbuf)));
#else
auto yolo = alpaka::ViewConst(alpaka::ViewConst(alpaka::ViewConst(cview_cbuf)));
#endif
alpaka::test::testViewConst<Acc>(yolo, dev, queue, extents, offsets);
}

0 comments on commit 6ad09ba

Please sign in to comment.