15.08.2012 Views

Introduction to CUDA C

Introduction to CUDA C

Introduction to CUDA C

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Race Conditions<br />

� Terminology: A race condition occurs when program behavior depends upon<br />

relative timing of two (or more) event sequences<br />

� What actually takes place <strong>to</strong> execute the line in question: *c += sum;<br />

— Read value at address c<br />

— Add sum <strong>to</strong> value<br />

— Write result <strong>to</strong> address c<br />

� What if two threads are trying <strong>to</strong> do this at the same time?<br />

� Thread 0, Block 0<br />

— Read value at address c<br />

— Add sum <strong>to</strong> value<br />

— Write result <strong>to</strong> address c<br />

Terminology: Read-Modify-Write<br />

� Thread 0, Block 1<br />

— Read value at address c<br />

— Add sum <strong>to</strong> value<br />

— Write result <strong>to</strong> address c

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!