What to Do When Auto-Vectorization Fails?

This article completes an analysis of a problem erroneously reported on the Intel® Developer Zone forum: Vectorization failed because of unsigned integer? It provides a more detailed examination showing that unsigned integer is not impacting compiler vectorization but what methodology to use when a modern C/C++ compiler fails to auto-vectorize for-loops.
Authored by Sergey Kostrov Last updated on 01/17/2017 - 16:24

Using Bluetooth* low energy technology with the Arduino 101* (branded Genuino 101* outside the U.S.) board

Bluetooth* low energy technology (also known as Bluetooth* LE) is a low-power, short-range wireless communication technology that is ideal for use on the Internet of Things or IoT. The Arduino 101* (branded Genuino 101* outside the U.S.) board includes on-board Bluetooth* low energy technology to enable developers to interact with Bluetooth* enabled devices such as phones and tablets. In this...
Authored by Nhuy L. (Intel) Last updated on 01/17/2017 - 16:16

Recipe: Building NAMD on Intel® Xeon® and Intel® Xeon Phi™ Processors

This recipe describes a step-by-step process of how to get, build, and run NAMD, Scalable Molecular Dynamic, code on Intel® Xeon Phi™ processor and Intel® Xeon® E5 processors for better performance.
Authored by Smahane D. (Intel) Last updated on 01/17/2017 - 13:48

Software Occlusion Culling

This article details an algorithm and associated sample code for software occlusion culling which is available for download. The technique divides scene objects into occluders and occludees and culls occludees based on a depth comparison with the occluders that are software rasterized to the depth buffer. The sample code uses frustum culling and is optimized with Streaming SIMD Extensions (SSE)...
Authored by Kiefer Kuah (Intel) Last updated on 01/17/2017 - 11:59

Using Vulkan graphics API to Render a Cloud of Animated Particles in Stardust Application

The Stardust sample application uses the Vulkan graphics API to efficiently render a cloud of animated particles. To highlight Vulkan’s low CPU overhead and multithreading capabilities, particles are rendered using 200,000 draw calls. The demo is not using instancing; each draw call uses different region of a vertex buffer so that each draw could be a unique piece of geometry.
Authored by Michal Z. (Intel) Last updated on 01/17/2017 - 11:54

GPU Detect

GPU Detect is a short graphics code sample demonstrates a way to detect the primary graphics hardware present in a system (including the 6th Generation Intel® Core™ processor family).
Authored by admin Last updated on 01/17/2017 - 11:51

Adaptive Screen Space Ambient Occlusion

This article introduces a new implementation of the effect called adaptive screen space ambient occlusion (ASSAO), which is specially designed to scale from low-power devices and scenarios up to high-end desktops at high resolutions, all under one implementation with a uniform look, settings, and quality that is equal to the industry standard.
Authored by Filip Strugar (Intel) Last updated on 01/17/2017 - 11:44

Unreal Engine* 4: Setting Up Destructive Meshes

The following is a quick guide on getting a PhysX* Destructible Mesh (DM) working setup in an Unreal Engine* 4 (UE4*) project. This guide is primarily based on personal trial and error; other methods may exist that work better for your project. See official documentation for tutorials on fracturing and troubleshooting if you would like to go more in depth with Destructive Mesh capabilities.
Authored by Errin M. (Intel) Last updated on 01/17/2017 - 11:38

Unreal Engine* 4: Blueprint CPU Optimizations for Cloth Simulations

Realistic cloth movement can bring a great amount of visual immersion into a game. Using PhysX* Clothing* is one way to do this without the need of hand animating. Incorporating these simulations into Unreal Engine* 4 is easy, but as it is a taxing process on the CPU, it’s good to understand their performance characteristics and how to optimize them.
Authored by Errin M. (Intel) Last updated on 01/17/2017 - 11:37

Properly Detecting Intel® Software Guard Extensions in Your Applications

The Intel® Software Guard Extensions (Intel® SGX) SDK provides three functions for detecting and enabling Intel SGX support on systems. The key question for software developers is: what is the proper way to detect Intel SGX support on a system so that their applications and their installers behave accordingly?
Authored by John M. (Intel) Last updated on 01/17/2017 - 10:21
For more complete information about compiler optimizations, see our Optimization Notice.