At LDC 1.42.0 (1.42.0-beta2 or later), dub test cause invalidPtx error.
PS D:\labo\dlang\dcompute_master> dub test
dcompute.driver.error.DComputeDriverException@source\dcompute\driver\error.d(207): invalidPtx
----------------
0x00007FF696623F31 in dcompute.driver.error.__lambda_L205_C5 at D:\labo\dlang\dcompute_master\source\dcompute\driver\error.d(207)
0x00007FF696623EA0 in dcompute.driver.error.__lambda_L200_C43 at D:\labo\dlang\dcompute_master\source\dcompute\driver\error.d(203)
0x00007FF696623D85 in dcompute.driver.error.checkErrors at D:\labo\dlang\dcompute_master\source\dcompute\driver\error.d(223)
0x00007FF696621BD1 in dcompute.driver.cuda.program.Program.fromFile at D:\labo\dlang\dcompute_master\source\dcompute\driver\cuda\program.d(31)
0x00007FF6966212FD in main.D main at D:\labo\dlang\dcompute_master\source\dcompute\tests\main.d(121)
0x00007FF696680691 in void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).runAll()
0x00007FF696680320 in d_run_main2
0x00007FF6966805F3 in d_wrun_main
0x00007FF6966224B4 in main.wmain at D:\scoop\user\apps\ldc\1.42.0\import\core\internal\entrypoint.d(32)
0x00007FF6966A5F0C in __scrt_common_main_seh at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(288)
0x00007FFBF89AE8D7 in BaseThreadInitThunk
0x00007FFBF9CEC48C in RtlUserThreadStart
Error Program exited with code 1
The direct reason is that the following function is not converted to NVPTX IR.
- source\dcompute\std\cuda\sync.d
pragma(LDC_intrinsic, "llvm.nvvm.barrier0")
void barrier0();
becomes bellow, leaving LLVM IR in PTX.
.extern .func llvm.nvvm.barrier0
()
;
.visible .func _D8dcompute3std4sync7barrierFZv()
{
{ // callseq 6, 0
call.uni llvm.nvvm.barrier0, ();
} // callseq 6
ret;
}
At LDC 1.42.0 (1.42.0-beta2 or later), dub test cause invalidPtx error.
The direct reason is that the following function is not converted to NVPTX IR.
becomes bellow, leaving LLVM IR in PTX.