cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Tasp
Journeyman III

std::out_of_range thrown by opencl?

 

I have a program that runs fine on a Cypress based card but fails on a RV770 card. I narrowed it down to an enqueueNDRangeKernel call:

Program stops with

terminate called after throwing an instance of 'std:: out_of_range'

  what():  basic_string::substr

 

Any ideas what this could be?

0 Likes
7 Replies
himanshu_gautam
Grandmaster

please Specify your system configuration and provide more details of what you were doing.

Providing the kernel can enable us to quickly identify the issue and fix it.

0 Likes

Thanks for your reply.

System is Ubuntu 10.4 64 bit, ATI Stream SDK 2.3 and Catalyst 10.12. Card is Raedon HD4850 (RV770). 

I don't want to post the whole kernel but as soon as I have the time I will uncomment it line by line to see where the error happens. I will post the result.

In the meantime: Is it even possible that the OpenCl C++ wrapper throws std:: out_of_range ? If yes could you give me a guess what it could mean.

The kernel worked with previous SDKs (pre 2.3) but I will check this again with SDK 2.2. 

0 Likes

Tasp,

std:ut_of_range is a standard C++ error. Not a part of OpenCL C++ Wrapper.Here is link which might be helpful

http://msdn.microsoft.com/en-us/library/4a3ex2e8(v=VS.100).aspx

http://www.cplusplus.com/reference/std/stdexcept/out_of_range/

0 Likes

Hello,

 

Reduced the kernel to an emtpy kernel (no code, no parameter). The exception happens only when I enqueue this emtpy kernel.

Catalyst 11.1, SDK 2.3, Ubuntu 10.4 64bit, Radeon HD4850

gdb backtrace:

terminate called after throwing an instance of 'std::out_of_range'
  what():  basic_string::substr

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffe5ee4700 (LWP 8154)]
0x00007ffff344ba75 in *__GI_raise (sig=) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64    ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
    in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) bt
#0  0x00007ffff344ba75 in *__GI_raise (sig=) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff344f5c0 in *__GI_abort () at abort.c:92
#2  0x00007ffff3f01f5d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
#3  0x00007ffff3f001a6 in ?? () from /usr/lib/libstdc++.so.6
#4  0x00007ffff3f001d3 in std::terminate() () from /usr/lib/libstdc++.so.6
#5  0x00007ffff3f002de in __cxa_throw () from /usr/lib/libstdc++.so.6
#6  0x00007ffff3eaac2e in std::__throw_out_of_range(char const*) () from /usr/lib/libstdc++.so.6
#7  0x00007fffe7c82b21 in ?? () from /opt/ati-stream-sdk/lib/x86_64/libatiocl64.so
#8  0x00007fffe7c867c5 in ?? () from /opt/ati-stream-sdk/lib/x86_64/libatiocl64.so
#9  0x00007fffe7c87228 in ?? () from /opt/ati-stream-sdk/lib/x86_64/libatiocl64.so
#10 0x00007fffe7cad28e in ?? () from /opt/ati-stream-sdk/lib/x86_64/libatiocl64.so
#11 0x00007fffe7caec50 in ?? () from /opt/ati-stream-sdk/lib/x86_64/libatiocl64.so
#12 0x00007fffe7cb4c2c in ?? () from /opt/ati-stream-sdk/lib/x86_64/libatiocl64.so
#13 0x00007fffe7cb2edd in ?? () from /opt/ati-stream-sdk/lib/x86_64/libatiocl64.so
#14 0x00007ffff694d9ca in start_thread (arg=) at pthread_create.c:300
#15 0x00007ffff34fe70d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#16 0x0000000000000000 in ?? ()
(gdb)



It is working on a HD5850 and with the CPU (And it has worked previously with RV770 but I will check on that again...)

0 Likes

Hi,

Does the samples work under this configuration. I would appreciate if you can post some simple test case.

0 Likes

Yes samples work. Other kernels of my program work too. Therefore I doubt, that I can isolate the problem...
I will let you know if I find out something new about it.

0 Likes
Tasp
Journeyman III

I finally remebered that this is not the first time that I have this "bug"

I solved it then haha. Guess I should keep better notes for myself ...

http://forums.amd.com/forum/messageview.cfm?catid=390&threadid=138691

 

*edit* This occurs to me with RV770, Juniper but NOT with Cypress, CPU

0 Likes