#cuda #clang #clangd
Вопрос:
Я запускаю VSCodium с расширением clangd, и я хотел бы иметь правильную подсветку CUDA (например __device__
, и __host__
ключевые слова понятны). Я запустил CMake для создания compile_commands.json
файла, и он включает ключевые слова, специфичные для CUDA (например --cuda-gpu-arch=sm_52
, --cuda-path=/usr/local/cuda
). Тем не менее, clangd по-прежнему подчеркивает закорючки на ключевых словах, специфичных для CUDA. Похоже, что если clangd просто использует компилятор clang для понимания исходного кода, то clangd должен работать с CUDA (учитывая, что clang смог скомпилировать код CUDA).
Итак, есть ли какой-нибудь способ заставить clangd работать на CUDA? И если да, то как мне это сделать с помощью VSCodium?
Редактировать: Как оказалось, подсветка кода CUDA работает с непосредственно связанными файлами (с .cu
расширением), но не работает с одним из включенных заголовочных файлов (с .hpp
расширением). Как заставить подсветку текста работать с заголовочным файлом?
Комментарии:
1. Вопросы VSCodium не подходят для тегов VSCode.
Ответ №1:
создайте файл конфигурации «.clangd» в каталоге вашего проекта и укажите расположение заголовков CUDA. Это работает на меня.
CompileFlags:
Add:
- -xc
- --cuda-path=/path_to_cuda_installation
- --cuda-gpu-arch=sm_52
- -I/path_to_cuda_installation/include