なんでCUDAのバージョンを隠しているのかわかりませんが、
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\BuildCustomizations\CUDA xxx.targets 799
に書かれているtargetsファイルの799行目で、どのタスクが何をやっているか調べる必要があります。
バージョン隠されているのではっきりしませんが、おそらくCudaBuildとCudaBuildCoreタスクだろうと推測して。
VisualStudioから呼び出した開発者用コマンドプロンプトをプロジェクトのあるディレクトリをカレントにして以下のコマンドで実行してやれば、そのタスクをビルドできると思う。
msbuild -property:Configuration=Release -property:Platform=X64 -target:Clean;CudaBuild;CudaBuildCore -verbosity:diag
タスク名が判らないなら、targetをRebuildにして、そのnvcc.exeを実行しているタスク名を調べてください。
msbuild -property:Configuration=Release -property:Platform=X64 -target;Rebuild -verbosity:diag
それよりも、C++のプロジェクトファイルにであるvcxprojを書き換えて、CudaCompile.AdditionalOptions
にverboseを追加してビルドしたほうが簡単だと思う。
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- 省略 -->
<ItemGroup>
<CudaCompile Include="CUDATest.cu">
<FileType>Document</FileType>
<ExcludedFromBuild Condition="'$(Platform)'=='Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Platform)'=='x64'">false</ExcludedFromBuild>
<AdditionalOptions>--verbose</AdditionalOptions> <!-- こいつでnvcc.exeのコマンドラインにパラメーターを追加してやる -->
</CudaCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="$(ProgramFiles) (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 12.6.targets" />
</ImportGroup>
</Project>