Skip to content

Commit 25a8085

Browse files
committed
Add OpenMP kernels
1 parent e788167 commit 25a8085

File tree

13 files changed

+92
-10
lines changed

13 files changed

+92
-10
lines changed

.github/workflows/main.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ jobs:
9595
run: |
9696
mkdir -p build
9797
cd build
98+
export LD_LIBRARY_PATH="$CONDA_PREFIX/lib:$LD_LIBRARY_PATH"
99+
echo $LD_LIBRARY_PATH
100+
find "$CONDA_PREFIX/lib"
101+
find "$CONDA_PREFIX/include/"
98102
cmake .. \
99103
-DCMAKE_PREFIX_PATH=$CONDA_PREFIX \
100104
-DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \

CMakeLists.txt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ endif()
123123

124124
find_package(argparse REQUIRED)
125125
find_package(pugixml REQUIRED)
126-
126+
find_package(OpenMP)
127127
# Configuration
128128
# =============
129129

@@ -135,8 +135,15 @@ function(configure_kernel kernel)
135135
set(XEUS_CPP_PATH "$ENV{PATH}")
136136
set(XEUS_CPP_LD_LIBRARY_PATH "$ENV{LD_LIBRARY_PATH}")
137137
set(XEUS_CPP_RESOURCE_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/clang/${CPPINTEROP_LLVM_VERSION_MAJOR})
138-
set(XEUS_CPP_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include)
138+
set(XEUS_CPP_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include/)
139+
140+
if(${kernel} MATCHES "omp/$")
141+
set(XEUS_CPP_OMP "${OpenMP_CXX_FLAGS}")
142+
endif()
139143

144+
message(Configure_Kernel "${kernel}")
145+
message(CPP_OMP_FLAG "${XEUS_CPP_OMP}")
146+
message(CPP_INCLUDE_DIR "${XEUS_CPP_INCLUDE_DIR}")
140147
if (WIN32)
141148
string(REPLACE "\\" "/" kernel "${kernel}")
142149
string(REPLACE "\\" "/" XEUS_CPP_PATH "${XEUS_CPP_PATH}")
@@ -167,7 +174,9 @@ message("Configure kernels: ...")
167174
configure_kernel("/share/jupyter/kernels/xcpp11/")
168175
configure_kernel("/share/jupyter/kernels/xcpp14/")
169176
configure_kernel("/share/jupyter/kernels/xcpp17/")
177+
configure_kernel("/share/jupyter/kernels/xcpp17-omp/")
170178
configure_kernel("/share/jupyter/kernels/xcpp20/")
179+
configure_kernel("/share/jupyter/kernels/xcpp20-omp/")
171180

172181
# Source files
173182
# ============

environment-dev.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,6 @@ dependencies:
2020
- jupyter_kernel_test>=0.4.3
2121
- nbval
2222
- pytest-rerunfailures
23-
- doctest
23+
- doctest
24+
- llvm
25+
- llvm-openmp

share/jupyter/kernels/xcpp11/kernel.json.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"{connection_file}",
1111
"-resource-dir", "@XEUS_CPP_RESOURCE_DIR@",
1212
"-I", "@XEUS_CPP_INCLUDE_DIR@",
13-
"-std=c++11"@XEUS_CPP_OMP@
13+
"-std=c++11","@XEUS_CPP_OMP@"
1414
],
1515
"language": "cpp",
1616
"metadata": {"debugger": false}

share/jupyter/kernels/xcpp14/kernel.json.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"-std=c++14",
1414
"-fno-exceptions",
1515
"-O2",
16-
"-v"@XEUS_CPP_OMP@
16+
"-v","@XEUS_CPP_OMP@"
1717
],
1818
"language": "cpp",
1919
"metadata": {"debugger": false}

share/jupyter/kernels/xcpp17-omp/kernel.json.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"{connection_file}",
1111
"-resource-dir", "@XEUS_CPP_RESOURCE_DIR@",
1212
"-I", "@XEUS_CPP_INCLUDE_DIR@",
13-
"-std=c++17"@XEUS_CPP_OMP@
13+
"-std=c++17","@XEUS_CPP_OMP@"
1414
],
1515
"language": "cpp",
1616
"metadata": {"debugger": false

share/jupyter/kernels/xcpp17/kernel.json.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"{connection_file}",
1111
"-resource-dir", "@XEUS_CPP_RESOURCE_DIR@",
1212
"-I", "@XEUS_CPP_INCLUDE_DIR@",
13-
"-std=c++17"@XEUS_CPP_OMP@
13+
"-std=c++17","@XEUS_CPP_OMP@"
1414
],
1515
"language": "cpp",
1616
"metadata": {"debugger": false
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"display_name": "C++20 (xcpp+OpenMP)",
3+
"env": {
4+
"PATH":"@XEUS_CPP_PATH@",
5+
"LD_LIBRARY_PATH":"@XEUS_CPP_LD_LIBRARY_PATH@",
6+
"CPLUS_INCLUDE_PATH":"@CMAKE_CPLUS_INCLUDE_PATH@"
7+
},
8+
"argv": [
9+
"@XEUS_CPP_KERNELSPEC_PATH@xcpp",
10+
"-f",
11+
"{connection_file}",
12+
"-resource-dir", "@XEUS_CPP_RESOURCE_DIR@",
13+
"-I", "@XEUS_CPP_INCLUDE_DIR@",
14+
"-std=c++20","@XEUS_CPP_OMP@"
15+
],
16+
"language": "cpp",
17+
"metadata": {"debugger": false
18+
}
19+
}
1.48 KB
Loading
3.04 KB
Loading

0 commit comments

Comments
 (0)