Researchers at the Université de Picardie Jules Verne in France and the University of Miskolc in Hungary use ArrayFire in the analysis and study of the dynamical properties of a nonlinear growth equation, as described in this paper. Oftentimes, technical computing problems are simply intractable on CPUs and bigger devices like GPUs are required in order to get the job done. In this case, ArrayFire was an easy-to-use option for these researchers to build and analyze math quickly and efficiently on the GPU. From their abstract: “The conserved Kuramoto-Sivashinsky equation is considered as the evolution equation of amorphous thin film growth in one- and in two-dimensions. The role of the nonlinear term and the properties of the solutions are investigated …
Synthetic Aperture Radar on the Jetson TX1
Researchers at Peter the Great St. Petersburg Polytechnic University have implemented a synthetic aperture radar processing on the Jetson TX1 Platform using ArrayFire as described in this paper. The paper introduces SAR as “a remote sensing technique producing high-resolution radar images of the Earth’s surface. SAR technology allows obtaining wide swath radar images of objects at a considerable distance regardless of the weather and lighting conditions. It can be used by unmanned aerial vehicles and space satellites. Thus, SAR technology allows solving various problems, such as: detecting small objects (vehicles, airplanes, ships), assessing the state of railways, airfields, seaports, mapping an area, assisting in geological exploration, mapping vegetation, detecting oil spills and pollution as well as many other tasks.” The …
Case Study: A Fortune 300 Financial Company
A Fortune 300 Financial Company located in the North East USA ported their CPU code (C/C++) to CUDA and this enabled them to speed up the necessary financial calculations. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required ten to twelve hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes. The Client has several C/C++ programmers in their team and they trained many of them to use CUDA. Their code used CUDA to speed up a calculation using Monte Carlo methods to analyze various scenarios in their hedge-fund projection system (HPS). The major portion of their calculations was …
Case Study: Sleepmed
Sleepmed is a biomedical company that focuses on improving the health and quality of life of those who suffer from sleep disorders. Sleepmed is the nation’s leader in sleep diagnosis and provides services to more than 80,000 patients annually in one of their 200 labs located in 32 states across the USA. To accomplish this task they created hardware that automatically collects a few gigabytes of important diagnostic data on patients when they sleep. These data are automatically reduced and processed to reveal important events which are later interpreted by sleep specialists. Mission SleepMed was in the process of developing new data collection hardware which, in principle, could share a significant fraction of the code base with the existing hardware. …
Case Study: Reveal Imaging
Iterative reconstruction from projections is typically a function reserved for the medical industry. This approach allows medical professionals to reconstruct computed tomography (CT) images from acquired data; the reconstructed images display virtual “slices” of a scanned object, such as a heart or brain. In reconstructing an image from the data, algorithms are used to approximate the solution. The closer the solution, the better the reconstruction. Multiple iterations produce more accurate solutions, and, thus, higher-quality images. This technique, however, consumes computation time; speeding the process through the GPU is one solution to this problem. Mission Reveal Imaging, a SAIC company, uses this CT technology in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and …
Case Study: 3Dfit App for glasses.com
Many find the experience of purchasing new glasses stressful. Even simply trying on frames can be uncomfortable when done in a public setting. Glasses.com set out to improve the experience by providing customers a way of virtually trying on glasses frames in the comfort of their homes via smartphone or tablet. The Glasses.com app takes a picture of the user’s face, creates a 3D model of facial features, and virtually places selected frames on the user’s 3D image. The user is then free to view the 3D image from a variety of angles. The application relies on computer vision to recognize the features of a user’s face and then generate an accurate, high-fidelity, 3D model of that face. Virtual frames …
Case Study: A Fortune 200 Insurance Company
A Fortune 200 Insurance Company located on the West coast was using a third-party, closed-source application to make inferences about future market conditions in order to hedge their investments. In order to carry out calculations over millions of possible scenarios, they were using a small cluster consisting of 1,300 hyperthreaded CPU cores in blade servers. In the near term, they projected that their business needs would grow by a factor of two and they were near capacity with their existing system. Mission The Client hired ArrayFire to conduct a comprehensive audit of their system to access its performance in nine key areas: The technological platform – a high-level overview of their system, example execution flows, discussions of shortcomings of their …
Whole Brain Dynamics at Single Neuron Resolution
Empirical Dynamic Modeling (EDM) is a mathematical framework designed for studying nonlinear dynamical systems. EDM is based upon the concept of state-space reconstruction (SSR). Takens’ theorem states that the attractor manifold of a multivariate dynamical system can be reconstructed from time-lagged coordinates of a single time series variable. Figure 1 illustrates the concept of state space reconstruction. EDM encompasses multiple functions, but we focused on two main techniques, the simplex projection, which uses individual variables to create univariate embeddings to predict itself, and convergent cross-mapping (CCM) a method for nonlinear causal inference. Simplex projection is a nonlinear forecasting algorithm often used for estimating the dimensionality of a dynamical system using its prediction skill as a selection criterion. Simplex projection uses …
Finger Vein Identity Recognition in “Negligible Time” using ArrayFire
In this blog post, we summarize work by researchers in Slovakia using ArrayFire to develop OpenFinger, a finger vein identity recognition library. Finger prints and finger veins can be used as a biometric for identity recognition. The physical setup of their sensor system is the following collection of CMOS sensors scattering light to a near infrared LED that projects the image to a CCD camera for capture to a computer. The computing infrastructure used in this work consists of the following components. Several great open source libraries are used, including OpenCV, Caffe, Qt, and ArrayFire. ArrayFire is specifically used in pre-processing to accelerate Gabor filtering on the GPU. Gabor filter has proven itself as one of the most suitable techniques …
Schrödinger’s Smoke in Unity with ArrayFire
Researchers in Russia used ArrayFire to achieve impressive results modeling Eulerian incompressible fluids in the Unity game engine. The team developed a solution that allows us to simulate particle systems with high physical accuracy using ArrayFire. The solution makes it possible to simulate the interaction of two vortex rings—their collisions and intersections. The particle system is a method used in computer graphics and interactive simulations to represent objects that do not have clear geometric boundaries. This makes it possible to create practically any type of natural effects—e.g., explosions, jets of steam, nebulae, rain, snow, water splashes, fire smoke, etc. The particle system controls groups of particles—that is, small flat images or mesh objects. Any particle has a certain ‘lifetime’ (usually …