Know how to write efficient shaders (Instruction Latencies)

Post those lines of code you feel like sharing or find what you require for your project here; or simply use them as tutorials.

Know how to write efficient shaders (Instruction Latencies)

Postby devsh » Tue Jan 17, 2017 10:23 am

Since Nvidia doesnt publish much about how exactly their architecture works...

http://lpgpu.org/wp/wp-content/uploads/2013/05/poster_andresch_acaces2014.pdf

The only thing missing from that chart is the latency of RSQRT which is 25 cycles on Tesla, you have to extrapolate to Kepler and Maxwell

so a combined latency of normalize() would be (6+2)+2*6 for 3 MULS and two ADDs or at least 2*6+1 2FMADs and one MUL to get the squared length of the vector and then ~25 for the RQSRT and finally 6+2 for the 3 MULS with the rsqrt
coming together to at least 46 cycles for a 3 component normalize

Finally you know not only which is the most expensive op, but also how much more!
We chose to stream mesh data from Multiple OpenGL Contexts in many threads and do the other things, not because they are easy, but because they are hard! - JFK
User avatar
devsh
Competition winner
 
Posts: 1767
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK

Re: Know how to write efficient shaders (Instruction Latenci

Postby robmar » Fri Jan 20, 2017 12:09 am

interesting... but not everyone uses NVidia, some use Intel Iris or AMD GPUs.

Any data on which ops to avoid with AMD?
robmar
 
Posts: 997
Joined: Sun Aug 14, 2011 11:30 pm

Re: Know how to write efficient shaders (Instruction Latenci

Postby Vectrotek » Fri Jan 20, 2017 5:09 pm

So this could lead to a way to set shader parameters without using the names (and its related overhead)?
I think BAW already has this sorted but I'm still digging through the code..
User avatar
Vectrotek
Competition winner
 
Posts: 1056
Joined: Sat May 02, 2015 5:05 pm
Location: South Africa


Return to Code Snippets

Who is online

Users browsing this forum: No registered users and 1 guest