![]() ![]() |
Nov 6 2009, 08:24 PM
Post
#1
|
|
![]() Group: Members Posts: 1 Joined: 6-November 09 Member No.: 244,452 Club SLI Member: No Org.: TBRRI |
Hi, i've started development in implementing a certain application into CUDA, and upon testing with emulation enabled, I come across Errors claiming i'm using syncthreads incorrectly. I know of others who have had the same results, and have found that syncthreads() cannot be emulated, but they have found no issues with a non-emulated compilations of the same program. Has anyone else come across this issue? I'll comment more about my findings next week when I get a chance to test the code some more.
|
|
|
|
Nov 6 2009, 09:54 PM
Post
#2
|
|
![]() ![]() ![]() ![]() ![]() ![]() Group: Members Posts: 160 Joined: 30-October 08 From: Saarbruecken, Germany & Kraków, Poland Member No.: 124,006 Org.: Saarland University |
__syncthreads() can be emulated. In emulation mode, it is also checked if all threads hit the same __syncthreads() (they should!). If they don't (due to some branching instructions) you get the error you are facing.
Hardware will not complain about this issue and will probably work correctly. This behaviour however is not documented and you should not rely on it. Something may crash in a week or in a year and at that time you will have no idea that this could be the source... |
|
|
|
![]() ![]() |
| Copyright 2008 NVIDIA Corporation. Terms of Use | Legal Info | Privacy Policy | Time is now: 24th November 2009 - 01:18 AM |