Whole Brain Dynamics at Single Neuron Resolution

Wassapon Watanakeesuntorn Case 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 Melonakos ArrayFire, 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 Melonakos Announcements, 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 Melonakos Case 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 Arshad C/C++, Computing Trends, Open Source, OpenCL Leave a 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 Melonakos Announcements, 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).

Once the repository is successfully added run the ...

The Roaring 20s in AI & Technical Computing

John Melonakos ArrayFire, Computing Trends, Open Source Leave a Comment

Since ArrayFire was founded in 2007, there has been an explosion in software and its importance to our lives. Computers, connected to sensors and real-world outcomes, do really cool things that touch nearly every aspect of our lives. I believe these are exciting times for technical computing and for HPC, as evidenced by the things showcased this week at SC 2020. While ArrayFire focuses purely on software, our hardware partners turn our imaginative lines of code into real-world applications. AMD, NVIDIA, and Intel have each evolved tremendously since we started ArrayFire. Over a decade ago, NVIDIA and its CEO-founder Jensen saw the opportunity to teach the world a new heterogeneous model of computing that overwhelmingly convinces scientists, engineers, and analysts ...

I am AI at NVIDIA & ArrayFire

John Melonakos AI, ArrayFire, Events Leave a Comment

I am an explorer.I am a helper.I am a healer.I am a visionary.I am a builder.I am even the narrator of the story you are watching.And the composer of the music.I am AI. These words are from the first 3:11 min of Jensen's keynote today. Yesterday was another amazing NVIDIA GTC kicking off. Fully remote due to coronavirus, I still enjoyed the content without the travel. I encourage you to watch the video below. A masterpiece. ArrayFire has participated and exhibited at every in-person NVIDIA GTC, ever since the 2008 NVIDIA NVISION conference, click the link for a nice flashback. NVIDIA has come a long way from that 0:37 clip and the 3:11 clip Jensen showed above. At NVISION, we ...

ArrayFire v3.7.x Release

Stefan Yurkevitch Announcements, ArrayFire Leave a Comment

With the release of the 3.7.2 patch release, we wanted to discuss some of the major features added to ArrayFire. The binaries have been available for a few weeks but we wanted to discuss the changes here. It can be downloaded from these locations: Official installers GitHub repository This version of ArrayFire is better than ever! We have added many new features that expand the capabilities of ArrayFire while improving its performance and flexibility. Some of the new features include: 16-bit floating point support Neural network compatible convolution and gradient functions Reduce-by-key Confidence Connected Components Array padding functions Support for sparse-sparse arithmetic operations Pseudo-inverse, meanvar(), rqsrt() and much more! We have also spent a significant amount of effort exposing the ...

ArrayFire v3.6.4

Umar Arshad ArrayFire 1 Comment

We are proud to announce another exciting release of the ArrayFire library. This version fixes a critical performance regression in the ArrayFire just in time kernel generation code. We discovered the regression late in the release window for the v3.6.3 release and we couldn't address it in the previous version so this version only consists of 2 commits. Please go check out the https://arrayfire.com/download page for the latest installers.