2023-11-29 (Wed)

NVCC

nvcc は内部で gcc なり icc といったコンパイラを何度か呼び出す。その最初の一回目はコンパイラの互換性を確認するためのもので、ユーザの書いたコードは渡されない。言ってみれば configure が色々なマクロの存在をチェックしている時のようなものである。この時、-Xcompiler に指定したオプションも渡されないので、icc の deprecation warning を消す -diag-disable=10441 を渡すこともできない。この挙動は -ccbin に wrapper を渡して確認することができる。

どうしても警告を消したければ、__INTEL_PRE_CFLAGS 環境変数を使う必要があるそうだ。

読んだ