GTX 680M: Error 700 while executing a simplest kernel

36 views
Skip to first unread message

Dmitry N. Mikushin

unread,
Jul 27, 2012, 8:38:39 PM7/27/12
to asf...@googlegroups.com, Hou Yunqing, Junjie Lai
Dear colleagues,

The following kernel used together with a test app attached worked fine with asfermi/sm_20:

!Kernel kernel
!Param 8 3
S2R R0, SR_CTAid_X;
S2R R1, SR_Tid_X;
IMAD R3, R0, c [0x0] [0x8], R1;
IMUL R3, R3, 0x4;
IADD R4, R3, c [0x0] [0x20]; // TODO: R4.CC
MOV R5, c [0x0] [0x24]; // TODO: IADD.X R5, RZ
LD.E R0, [R4];
IADD R4, R3, c [0x0] [0x28]; // TODO: R4.CC
MOV R5, c [0x0] [0x2c]; // TODO: IADD.X R5, RZ
LD.E R1, [R4];
FADD R0, R0, R1;
IADD R4, R3, c [0x0] [0x30]; // TODO: R4.CC
MOV R5, c [0x0] [0x34]; // TODO: IADD.X R5, RZ
ST.E [R4], R0;
EXIT;
!EndKernel

However, when compiled for sm_30 and executed on GTX 680M, it gives error 700 on cuCtxSynchronize right after the kernel launch. This error usually means an error in kernel binary.
Do you see any problems with this code?

Thank you,
- Dima.
sum_kernel.tar.gz

Dmitry N. Mikushin

unread,
Jul 28, 2012, 10:24:44 AM7/28/12
to asf...@googlegroups.com, Hou Yunqing, Junjie Lai
Thank you!

Yes, it works, if args are started with 0x140:


!Kernel kernel
!Param 8 3
S2R R0, SR_CTAid_X;
S2R R1, SR_Tid_X;
IMAD R3, R0, c [0x0] [0x8], R1;
IMUL R3, R3, 0x4;
IADD R4, R3, c [0x0] [0x140]; // TODO: R4.CC
MOV R5, c [0x0] [0x144]; // TODO: IADD.X R5, RZ
LD.E R0, [R4];
IADD R4, R3, c [0x0] [0x148]; // TODO: R4.CC
MOV R5, c [0x0] [0x14c]; // TODO: IADD.X R5, RZ

LD.E R1, [R4];
FADD R0, R0, R1;
IADD R4, R3, c [0x0] [0x150]; // TODO: R4.CC
MOV R5, c [0x0] [0x154]; // TODO: IADD.X R5, RZ

ST.E [R4], R0;
EXIT;
!EndKernel

2012/7/28 Dmitry N. Mikushin <maem...@gmail.com>
Reply all
Reply to author
Forward
0 new messages