MCPcopy Create free account
hub / github.com/RenderKit/embree / print

Method print

kernels/common/device.cpp:189–258  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

187 }
188
189 void Device::print()
190 {
191 const int cpu_features = getCPUFeatures();
192 std::cout << std::endl;
193 std::cout << "Embree Ray Tracing Kernels " << RTC_VERSION_STRING << " (" << RTC_HASH << ")" << std::endl;
194 std::cout << " Compiler : " << getCompilerName() << std::endl;
195 std::cout << " Build : ";
196#if defined(DEBUG)
197 std::cout << "Debug " << std::endl;
198#else
199 std::cout << "Release " << std::endl;
200#endif
201 std::cout << " Platform : " << getPlatformName() << std::endl;
202 std::cout << " CPU : " << stringOfCPUModel(getCPUModel()) << " (" << getCPUVendor() << ")" << std::endl;
203 std::cout << " Threads : " << getNumberOfLogicalThreads() << std::endl;
204 std::cout << " ISA : " << stringOfCPUFeatures(cpu_features) << std::endl;
205 std::cout << " Targets : " << supportedTargetList(cpu_features) << std::endl;
206 const bool hasFTZ = _mm_getcsr() & _MM_FLUSH_ZERO_ON;
207 const bool hasDAZ = _mm_getcsr() & _MM_DENORMALS_ZERO_ON;
208 std::cout << " MXCSR : " << "FTZ=" << hasFTZ << ", DAZ=" << hasDAZ << std::endl;
209 std::cout << " Config" << std::endl;
210 std::cout << " Threads : " << (numThreads ? toString(numThreads) : std::string("default")) << std::endl;
211 std::cout << " ISA : " << stringOfCPUFeatures(enabled_cpu_features) << std::endl;
212 std::cout << " Targets : " << supportedTargetList(enabled_cpu_features) << " (supported)" << std::endl;
213 std::cout << " " << getEnabledTargets() << " (compile time enabled)" << std::endl;
214 std::cout << " Features: " << getEmbreeFeatures() << std::endl;
215 std::cout << " Tasking : ";
216#if defined(TASKING_TBB)
217 std::cout << "TBB" << TBB_VERSION_MAJOR << "." << TBB_VERSION_MINOR << " ";
218 #if TBB_INTERFACE_VERSION >= 12002
219 std::cout << "TBB_header_interface_" << TBB_INTERFACE_VERSION << " TBB_lib_interface_" << TBB_runtime_interface_version() << " ";
220 #else
221 std::cout << "TBB_header_interface_" << TBB_INTERFACE_VERSION << " TBB_lib_interface_" << tbb::TBB_runtime_interface_version() << " ";
222 #endif
223#endif
224#if defined(TASKING_INTERNAL)
225 std::cout << "internal_tasking_system ";
226#endif
227#if defined(TASKING_PPL)
228 std::cout << "PPL ";
229#endif
230 std::cout << std::endl;
231
232#if defined(__X86_64__)
233 /* check of FTZ and DAZ flags are set in CSR */
234 if (!hasFTZ || !hasDAZ)
235 {
236#if !defined(_DEBUG)
237 if (State::verbosity(1))
238#endif
239 {
240 std::cout << std::endl;
241 std::cout << "================================================================================" << std::endl;
242 std::cout << " WARNING: \"Flush to Zero\" or \"Denormals are Zero\" mode not enabled " << std::endl
243 << " in the MXCSR control and status register. This can have a severe " << std::endl
244 << " performance impact. Please enable these modes for each application " << std::endl
245 << " thread the following way:" << std::endl
246 << std::endl

Callers

nothing calls this directly

Calls 13

getCPUFeaturesFunction · 0.85
getCompilerNameFunction · 0.85
getPlatformNameFunction · 0.85
stringOfCPUModelFunction · 0.85
getCPUModelFunction · 0.85
getCPUVendorFunction · 0.85
stringOfCPUFeaturesFunction · 0.85
supportedTargetListFunction · 0.85
_mm_getcsrFunction · 0.85
toStringFunction · 0.85
getEnabledTargetsFunction · 0.85

Tested by

no test coverage detected