Case Study: Sleepmed

Aaron TaylorCase Studies Leave a Comment

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

Aaron TaylorCase Studies Leave a Comment

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

Aaron TaylorCase Studies Leave a Comment

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

ScottCase Studies Leave a Comment

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

Wassapon WatanakeesuntornCase Studies Leave a Comment

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

John MelonakosArrayFire, Case Studies, Computer Vision, CUDA, Open Source Leave a Comment

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 …

Bringing Together the GPU Computing Ecosystem for Python

John MelonakosAnnouncements, ArrayFire, Computing Trends, CUDA, Open Source, Python Leave a Comment

To date, we have not done a lot for the Python ecosystem. A few months ago, we decided it was time to change that. Like NVIDIA said in this post, the current slate of GPU tools available to Python developers is scattered. With some attention to community building, perhaps we can build something better — together. NVIDIA spoke some about its plans to help cleanup the ecosystem. We’re onboard with that mentality and have two ways we propose to contribute: We’re working on a survey paper that assesses the state of the ecosystem. What technical computing things can you do with each package? What benchmarks result from the packages on real Python user code? What plans does each group have …

Schrödinger’s Smoke in Unity with ArrayFire

John MelonakosCase Studies Leave a Comment

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 …

Cycling through SYCL

Umar ArshadC/C++, Computing Trends, Open Source, OpenCL 1 Comment

We recently gave an overview of recent history in the technical computing hardware market. In it, we mention the energy at Intel right now. The weight of Intel is behind the SYCL standard through its new software approach, oneAPI. SYCL is a cross-platform API that targets heterogeneous hardware, similar to OpenCL and CUDA. The SYCL standard was first introduced by Codeplay and is now being managed by the Khronos group. It allows single-source compilation in C++ to target multiple devices on a system, rather than using C++ for the host and domain specific kernel languages for the device. Furthermore, SYCL is fully C++ 17 standards compliant. You don’t have any extensions to the language that would prevent any standards compliant …

ArrayFire v3.8 Release

John MelonakosAnnouncements, ArrayFire Leave a Comment

We are excited to share the v3.8 release of ArrayFire! ArrayFire is used in commercial, academic, and government projects around the world, solving some of the toughest computing problems in the most innovative projects. It is well-tested and amazingly fast! In this post, we share some of the major features added to ArrayFire in its 3.8 feature release. The binaries and source code can be downloaded from these locations: Official installers GitHub repository Official APT repository Starting with this release, we will provide Ubuntu packages form our APT repository. To install our packages add our apt repository with the below commands. At this moment we are only supporting bionic(18.04) and focal(20.04). apt-key adv –fetch-key https://repo.arrayfire.com/GPG-PUB-KEY-ARRAYFIRE-2020.PUB echo “deb [arch=amd64] https://repo.arrayfire.com/ubuntu $(lsb_release …