CUDA用のemacs設定とlspの導入方法

CUDAのプログラムを書くための emacs の設定です

cuda-mode

まずcuda-modeをインストールします

設定はこれだけ

(use-package cuda-mode
  :mode ("\\.cu\\'" "\\.cuh\\'")
  )

これでCUDA関連の予約語などがhighlight表示されます

lsp 関連

clangd 経由でCUDAのコードでもlspが使えます

設定も簡単です

  • 設定ファイル .clangd を用意
  • C/C++と同様に lspを使う

これだけです

.clangdはソースコードと同じディレクトリに配置します

.clangd の内容は以下のとおり

CompileFlags:
  Add:
    - --cuda-path=/usr/lib/cuda
    - -L/usr/lib/cuda/lib64
    - -I/usr/lib/cuda/include

これで clangd が CUDA関連のヘッダファイルを認識してAPIの補完などができるようになります

私は lsp-mode で動作確認しています.clangd側の設定だけで良いので,eglot もおそらく動くと思います