|
6 | 6 | nvhpc_ver = '24.3' |
7 | 7 | cuda_ver = '12.3' |
8 | 8 | gcc_ver = '13' |
9 | | -llvm_ver = '19' |
| 9 | +llvm_ver = '18' |
10 | 10 | cmake_ver = '3.27.2' |
11 | 11 | boost_ver = '1.75.0' |
12 | 12 |
|
|
101 | 101 | }) |
102 | 102 |
|
103 | 103 | # Install AdaptiveCpp stdpar: |
104 | | -if False: |
105 | | - Stage0 += boost(version=boost_ver) |
106 | | - Stage0 += shell(commands=[ |
| 104 | +Stage0 += boost(version=boost_ver) |
| 105 | +Stage0 += shell(commands=[ |
107 | 106 | 'set -ex', |
108 | 107 | 'git clone --recurse-submodules -b develop https://github.com/AdaptiveCpp/AdaptiveCpp', |
109 | 108 | 'cd AdaptiveCpp', |
110 | 109 | 'git submodule update --recursive', |
111 | 110 | f'cmake -Bbuild -H. -DCMAKE_C_COMPILER="$(which clang-{llvm_ver})" -DCMAKE_CXX_COMPILER="$(which clang++-{llvm_ver})" -DCMAKE_INSTALL_PREFIX=/opt/adaptivecpp -DWITH_CUDA_BACKEND=ON -DWITH_CPU_BACKEND=ON', |
112 | 111 | 'cmake --build build --target install -j $(nproc)', |
113 | | - ]) |
114 | | - # And https://github.com/llvm/llvm-project/issues/57544 |
115 | | - Stage0 += raw(docker=f''' |
116 | | -COPY <<EOF /usr/lib/clang/{llvm_ver}/include/cuda_wrappers/bits/shared_ptr_base.h |
117 | | -// clang/lib/Headers/cuda_wrappers/bits/shared_ptr_base.h |
118 | | -// installs to /usr/lib/clang/{llvm_ver}/include/cuda_wrappers/bits/shared_ptr_base.h |
119 | | -
|
120 | | -// CUDA headers define __noinline__ which interferes with libstdc++'s use of |
121 | | -// `__attribute((__noinline__))`. In order to avoid compilation error, |
122 | | -// temporarily unset __noinline__ when we include affected libstdc++ header. |
123 | | -
|
124 | | -#pragma push_macro("__noinline__") |
125 | | -#undef __noinline__ |
126 | | -#include_next "bits/shared_ptr_base.h" |
127 | | -
|
128 | | -#pragma pop_macro("__noinline__") |
129 | | -EOF |
130 | | - ''') |
131 | | - |
| 112 | +]) |
| 113 | +Stage0 += environment(variables={ |
| 114 | + 'PATH':'$PATH:/opt/adaptivecpp/bin', |
| 115 | + 'ACPP_APPDB_DIR': '/src/', |
| 116 | +}) |
132 | 117 |
|
133 | 118 | Stage0 += shell(commands=[ |
134 | 119 | f'echo "#define MDSPAN_USE_PAREN_OPERATOR 1"|cat - /opt/nvidia/hpc_sdk/Linux_{arch}/{nvhpc_ver}/compilers/include/experimental/mdspan > /tmp/out && mv /tmp/out /opt/nvidia/hpc_sdk/Linux_{arch}/{nvhpc_ver}/compilers/include/experimental/mdspan', |
|
0 commit comments