status = ippStaticInit();
status = ippSetDenormAreZeros(1);
status = ippSetFlushToZero(1, NULL);
In many cases my app will feed ipp filters (IIR, FIR, etc.) "empty" buffers (all 0.0 floats), and this is valid behavior in the application... but I'm still getting denormals as I step trough... shouldn't the /qftz switch take care of that at runitme, especially if I also set the flags for ipp? or do I need to perform additional checks at runtime and "flush" the denormals manually?
there is comment from our expert
Setting ftz and daz doesn't prevent from appearing of "denormals" in calculation results, these flags just inform cpu to consider these "denormals" as zeroes in the subsequent calculations and therefore speedup calculations. To avoid "denormals"you needto flush them manually (for example via ippsThreshold).