Logo by Khaotik - Contribute your own Logo!
News: Check out the originating "3d Mandelbulb" thread here
 
*
Welcome, Guest. Please login or register. November 25, 2017, 04:38:01 AM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: VTune Results; Compute vs. CVector3::IsNotANumber.  (Read 493 times)
0 Members and 1 Guest are viewing this topic.
mancoast
Forums Freshman
**
Posts: 17


« on: August 03, 2016, 03:42:16 AM »

Greetings,
I bring you this report summary of VTune Results; Compute vs. CVector3::IsNotANumber.
The data focuses on CVector3::IsNotANumber.

 

This case is interesting because we are spending much time in Compute function itself.
Within the scope of this Compute function, we use CVector3::IsNotANumber where the majority instructions retire.
Also within the scope of this Compute function call, other operations retire a large share of instructions to self.
The Bottom-up view shows that we retire most instructions in CVector3::IsNotANumber.

 

The Caller/Callee view reinforces the separate and nested scopes where the majority of CPU instructions takes place.
It shows that we spend 68.2% of total time in Compute function.
It further shows that we spend 22.5% of total time in CVector3::IsNotANumber function.
However, the report clearly states that CVector3::IsNotANumber retired nearly double the CPU instructions to self as opposed to the “runner-up” Compute function.

 

There are instances of Compute function throughout the RayMarcher, ObjectShader, CalculateNormals, etc…

 

This source code view below shows one call stack instance of Compute function.
Here we call CVector3::IsNotANumber()
This instance alone accounts for 11.2% of total CPU time.

 

This initial source view of algebra.hpp pinpoints the critical section.

 

This secondary source view of algebra.hpp breaks down the critical section.

 

When testing for NaN, any ideas to optimize?

Thanks,
coast
Logged
Pages: [1]   Go Down
  Print  
 
Jump to:  


Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.135 seconds with 28 queries. (Pretty URLs adds 0.009s, 2q)