Skip to content

Commit 344fac9

Browse files
author
root
committed
Update VCPKG Triplets for Better ABI Support
1 parent 33f2937 commit 344fac9

File tree

32 files changed

+395
-85
lines changed

32 files changed

+395
-85
lines changed

.clangd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ Diagnostics:
1111
- cppcoreguidelines-*
1212
- performance-*
1313
- google-*
14-
- cert-dcl21-cpp
1514
- cert-dcl58-cpp
1615
- cert-err58-cpp
1716
- misc-new-delete-overloads
@@ -53,7 +52,8 @@ Diagnostics:
5352
readability-identifier-length,
5453
readability-magic-numbers,
5554
readability-function-cognitive-complexity,
56-
modernize-avoid-c-arrays
55+
modernize-avoid-c-arrays,
56+
readability-math-missing-parentheses,
5757
]
5858

5959
CheckOptions:

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"[cpp]": {
1717
"editor.defaultFormatter": "llvm-vs-code-extensions.vscode-clangd"
1818
},
19-
"clangd.path": "clangd",
19+
"clangd.path": "clangd-20",
2020
"clangd.arguments": [
2121
"--compile-commands-dir=${workspaceFolder}/build",
2222
"--log=verbose",

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Create a new conda environment:
99

1010
```bash
1111
conda create -n cuda-learn python=3.12
12+
conda upgrade libstdcxx-ng -c conda-forge
1213
conda activate cuda-learn
1314
pip install torch torchvision torchaudio
1415
```

configs/ctests.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
OpTest:
2+
Conv2D:
3+
- inputHeight: 32
4+
inputWidth: 32
5+
kernelSize: 3
6+
- inputHeight: 320
7+
inputWidth: 320
8+
kernelSize: 3

csrc/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ find_package(cxxopts CONFIG REQUIRED)
3131
find_package(fmt CONFIG REQUIRED)
3232
find_package(spdlog CONFIG REQUIRED)
3333
find_package(proxy CONFIG REQUIRED)
34+
find_package(yaml-cpp CONFIG REQUIRED)
3435
enable_testing()
3536
find_package(GTest CONFIG REQUIRED)
3637

@@ -46,5 +47,5 @@ add_subdirectory(${PROJECT_SOURCE_DIR}/test)
4647

4748
set(CMAKE_CTEST_COMMAND ctest)
4849
add_custom_target(check
49-
COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure --test-dir ${CMAKE_BINARY_DIR}
50+
COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure --test-dir ${CMAKE_CURRENT_BINARY_DIR}
5051
DEPENDS all)

csrc/cmake/compilers/cuda-compiler-configs.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ set(CMAKE_CUDA_SEPARABLE_COMPILATION ON)
2222
set(CMAKE_CUDA_ARCHITECTURES native)
2323
log_info("CMAKE_CUDA_STANDARD: ${CMAKE_CUDA_STANDARD}")
2424

25-
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --expt-relaxed-constexpr")
26-
set(CMAKE_CUDA_FLAGS_RELEASE "${CMAKE_CUDA_FLAGS_RELEASE} -O3")
27-
set(CMAKE_CUDA_FLAGS_DEBUG "${CMAKE_CUDA_FLAGS_DEBUG} -lineinfo")
25+
string(APPEND CMAKE_CUDA_FLAGS " --expt-relaxed-constexpr")
26+
string(APPEND CMAKE_CUDA_FLAGS_RELEASE " -O3")
27+
string(APPEND CMAKE_CUDA_FLAGS_DEBUG " -lineinfo")

csrc/cmake/libraries/libcuda.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ include(${CMAKE_CURRENT_LIST_DIR}/../utils/common.cmake)
1111

1212
try_get_value(CUDA_HOME HINTS CUDA_HOME CUDA_DIR)
1313
if (NOT CUDA_HOME_FOUND)
14-
log_error("ENV:CUDA_HOME is not set.")
14+
log_error("CUDA_HOME not set.")
1515
endif()
1616

1717
# Append the path to the CMAKE_PREFIX_PATH
18-
set(CUDA_CMAKE_PREFIX_PATH "$CUDA_HOME/lib64/cmake")
18+
set(CUDA_CMAKE_PREFIX_PATH "${CUDA_HOME}/lib64/cmake")
1919
list(APPEND CMAKE_PREFIX_PATH ${CUDA_CMAKE_PREFIX_PATH})
2020

2121
# Find the CUDA package

csrc/cmake/utils/run-python.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
include(${PROJECT_SOURCE_DIR}/cmake/utils/logging.cmake)
2-
include(${PROJECT_SOURCE_DIR}/cmake/utils/common.cmake)
1+
include(${CMAKE_CURRENT_LIST_DIR}/logging.cmake)
2+
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
33

44

55
# @brief Run python command and get result, output and error

csrc/cmake/vcpkg-triplets/x64-linux-no-cxx11abi.cmake

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
set(VCPKG_TARGET_ARCHITECTURE x64)
2+
set(VCPKG_CRT_LINKAGE dynamic)
3+
set(VCPKG_LIBRARY_LINKAGE static)
4+
5+
set(VCPKG_CMAKE_SYSTEM_NAME Linux)
6+
7+
execute_process(
8+
COMMAND python -c "import torch; print(torch.__version__.split('+')[0])"
9+
OUTPUT_VARIABLE TORCH_VERSION
10+
OUTPUT_STRIP_TRAILING_WHITESPACE
11+
)
12+
13+
# Convert version string to comparable number
14+
string(REPLACE "." ";" VERSION_LIST ${TORCH_VERSION})
15+
list(GET VERSION_LIST 0 TORCH_MAJOR)
16+
list(GET VERSION_LIST 1 TORCH_MINOR)
17+
math(EXPR TORCH_VERSION_NUM "${TORCH_MAJOR} * 1000 + ${TORCH_MINOR}")
18+
19+
# Set ABI flag only if torch version < 2.6
20+
if(TORCH_VERSION_NUM LESS 2006)
21+
set(ENV{CXXFLAGS} "$ENV{CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
22+
set(ENV{CFLAGS} "$ENV{CFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
23+
endif()

0 commit comments

Comments
 (0)