Я хочу использовать репозиторий ThunderKittens в своем проекте C++, в частности, для включения заголовочного файла котят.cuh. Я клонировал репозиторий, но не знаю, как настроить проект CMake для его правильной интеграции. Я хочу, чтобы следующий код работал:
#include "kittens.cuh"
Я добавил следующий код в cmake:
include_directories(tensor "D:\\Code\\Cpp\\tensor\\ThunderKittens\\include")
Но код не запускается:
Error limit reached.
100 errors detected in the compilation of "D:/Code/Cpp/tensor/main.cu".
Compilation terminated.
main.cu
ninja: build stopped: subcommand failed.
Ниже приведен минимальный воспроизводимый пример:
cmakelists.txt:
cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
project(tensor LANGUAGES CXX C CUDA)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}")
set(DCMAKE_CUDA_COMPIRLER "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.1\\bin\nvcc.exe")
add_executable(tensor main.cu)
include_directories(tensor "D:\\Code\\Cpp\\tensor\\ThunderKittens\\include")
set_property(TARGET tensor PROPERTY CXX_STANDARD 20)
команда cmake:
"E:\IDE\CLion 2023.3.4\bin\cmake\win\x64\bin\cmake.exe" --debugger --debugger-pipe=\\.\pipe\cmake-debug-23700-1 -S D:\Code\Cpp\tensor -B D:\Code\Cpp\tensor\cmake-build-debug -G Ninja -DCMAKE_BUILD_TYPE=Debug "-DCMAKE_MAKE_PROGRAM=E:/IDE/CLion 2023.3.4/bin/ninja/win/x64/ninja.exe" -DCMAKE_PREFIX_PATH=D:\CodeLauguage\Python\Lib\site-packages\torch\share\cmake "-DCMAKE_CUDA_COMPIRLER=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin\nvcc.exe"
main.cu
#include
int main() {
return 0;
}
выполнить команду:
"E:\IDE\CLion 2023.3.4\bin\cmake\win\x64\bin\cmake.exe" --build D:\Code\Cpp\tensor\cmake-build-debug --target tensor -j 22
Ошибки очень длинные, первые пять из них показаны здесь:
D:\Code\Cpp\tensor\ThunderKittens\include\common\base_types.cuh(47): error: identifier "concept" is undefined
concept T2 = std::is_same_v || std::is_same_v || std::is_same_v;
^
D:\Code\Cpp\tensor\ThunderKittens\include\common\base_types.cuh(49): error: identifier "concept" is undefined
concept T1 = std::is_same_v || std::is_same_v || std::is_same_v;
^
D:\Code\Cpp\tensor\ThunderKittens\include\common\base_types.cuh(95): error: namespace "std" has no member "bit_cast"
static __declspec(__device__) inline constexpr bf16 zero() { return std::bit_cast(uint16_t(0x0000)); }
^
D:\Code\Cpp\tensor\ThunderKittens\include\common\base_types.cuh(95): error: type name is not allowed
static __declspec(__device__) inline constexpr bf16 zero() { return std::bit_cast(uint16_t(0x0000)); }
^
D:\Code\Cpp\tensor\ThunderKittens\include\common\base_types.cuh(96): error: namespace "std" has no member "bit_cast"
static __declspec(__device__) inline constexpr bf16 one() { return std::bit_cast(uint16_t(0x3F80)); }
Подробнее здесь: https://stackoverflow.com/questions/791 ... de-kittens
Как импортировать ThunderKittens в мой проект C++ cmake и заставить #include "kittens.cuh" работать? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Фатальная ошибка: include/chrono: Нет такого файла или каталога 14 | #include <хроно>
Anonymous » » в форуме C++ - 0 Ответы
- 98 Просмотры
-
Последнее сообщение Anonymous
-