Skip to content

[LDC 1.42.0] invalidPtx error occurs in CUDA #89

@takinutani

Description

@takinutani

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;

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions