Raytracing a Black Hole

Edwin SolisArrayFire, C/C++, Case Studies, Education Leave a Comment

After Albert Einstein’s proposal of the General Theory of Relativity, our outlook on how gravity works has changed significantly opening the possibility of mystifying objects such as Black Holes. Black Holes are massive compact objects resulting from unhalted gravitational collapse. Their gravity affects the spacetime surrounding it to such an extreme level that any object near it, including light, will have as an unavoidable future a path of “falling” towards the black hole. While the theory of general relativity was proven to be highly accurate from experiments testing the bending of light seen during an eclipse or the gravitational time dilation experience of objects closer to massive objects, there had not been a direct observation of a black hole until …

Quantum Simulators and AQS

Edwin SolisArrayFire, Quantum Computing Leave a Comment

This is the last post in the series on quantum computing. You can check the previous ones here: In the previous post, we discussed the applications of quantum algorithms that are in development and we touched upon the idea of testing these algorithm ideas. In the final post of this series, we will discuss about the ways that quantum programs can be analyzed before running in actual quantum computers. Status Quo of Quantum Computing Real-world Quantum Computers have been undergoing a huge boom during the last few years with hundreds of businesses and tens of countries investing in this technology. Due to the expensive R&D cost for Quantum Computing, the main business model for Quantum Computing has been through the …

Applications of Quantum Algorithms

Edwin SolisArrayFire, Quantum Computing Leave a Comment

This is the fourth post in a series on quantum computing, which began with the following: In the previous post, we explained the inner workings of a quantum computer and introduced quantum algorithms to take advantage of the properties of quantum mechanics and execute specific computations. However, we glossed over how these algorithms can provide a quantum speedup. To understand this, we must first understand the type of problems that are well-suited for quantum computers. Error Bounded Algorithms As discussed before, Classical Computers store definite states; therefore, the computations result in deterministic outcomes: a problem may be solved by a direct series of steps (an algorithm) that, given a specific input, will produce a specific outcome. However, while Quantum Computers …

ArrayFire v3.9.0 Release

Umar ArshadAnnouncements, ArrayFire, C/C++, CUDA, oneAPI, OpenCL 1 Comment

We are pleased to announce a new release of the ArrayFire library, v3.9.0. This release makes it easier than ever to target new devices without sacrificing performance. This post describes four of these new features, including: oneAPI Backend This release is the first time since v3.0 that introduces a new backend. The new backend is built with the oneAPI specification on top of the SYCL language. oneAPI is an open specification providing a full framework for high-performance computing applications without vendor lock-in. While this has been possible with OpenCL, the oneAPI specification includes libraries like BLAS and FFT significantly reducing the burden on the developers to maintain math functions and increasing the performance of these common operations. Here is a …

Reconstruction of 3D Phase Contrast Atomic Electron Tomography

John MelonakosArrayFire, Case Studies Leave a Comment

Researchers from UC Berkeley and Lawrence Berkeley National Laboratory credit ArrayFire in a paper published in the 2020 IEEE High-Performance Extreme Computing Conference (HPEC). The paper is titled “GPU Accelerated Anomaly Detection of Large Scale Light Curves.” In this work, the authors present a new algorithm for reconstructing the three-dimensional (3D) electrostatic potential of a sample at atomic resolution from phase contrast imaging using high-resolution transmission electron microscopy. Summary Transmission electron microscopy (TEM) offers various imaging modes, allowing for quantitative 3D estimations of local structure, electrostatic and magnetic potentials, and local chemistry, significantly impacting biology and materials science. It is now possible to measure the 3D position of individual atoms with high precision and even determine both the 3D position and species …

Parallelization of FOAGDD Point of Interest Extraction

Gustavo StahlArrayFire, Case Studies Leave a Comment

(This is a guest post by Gustavo Stahl from São Paulo State University in Brazil.) Summary Corners present in images are widely used in multiple areas of computer science, such as augmented reality, autonomous vehicles, service robots, 3D reconstructions, object tracking, and many more. To work appropriately, applications in these areas usually rely on fast corner detectors with good-quality extractions. The FOAGDD (First-order Anisotropic Gaussian Direction Derivative) is an algorithmic technique for extracting corners in an image originally proposed by Weichuan Zhang and Changming Sun in 2019. The method surpassed the majority of extractors in corner detection quality but lacked speed, making it improper for real-time applications. Hence, this paper proposes transferring the workload from the original implementation to the …

The Torch By ArrayFire: Q1’2023 GPU Updates

John MelonakosArrayFire, Newsletter Leave a Comment

News for the accelerated computing community – March 23, 2023 Signup for Newsletter Emails Dear ArrayFire Community, The first quarter of 2023 was highlighted by substantial progress on the oneAPI backend for ArrayFire. Updates on this project can be tracked on the ArrayFire Github. With the explosion of AI throughout technical computing domains, we are working closely with the teams at Facebook AI Research (FAIR) working on the Flashlight and Shumai projects. We share a project spotlight on Shumai below. From interactions with many of you and reading papers published using ArrayFire, we are delighted to see our work be used to make a difference in meaningful technical computing projects. If you want to showcase your project in this newsletter, please …

How does a Quantum Computer work?

Edwin SolisArrayFire, Quantum Computing Leave a Comment

This is the third post in a series on quantum computing, which began with the following: By design, a quantum computer is a device that executes quantum computations. These quantum computations utilize quantum mechanical principles to encode and operate on inputs and outputs. There are two main types of quantum computers based on the data unit: discrete-based and continuous-based. Discrete-based quantum computers use a discrete unit of data with quantum properties; most use qubits on which operations are performed. In contrast, continuous-based quantum computers utilize observable quantities with continuous intervals to define the system’s state. We will focus on discrete/digital quantum systems as this is the most common model for which many algorithms have already been developed. Like classical computers, …

Quantum States vs Classical States

Edwin SolisArrayFire, Quantum Computing Leave a Comment

In the last post of this series, we discussed how supercharging quantum computing with Quantum Mechanics’ principles allows high computational power. To come to terms with this, we must first delve into the math behind quantum memory. A computer needs memory. It stores input and output data as a transitional place to operate on data. We care about this functionality because data encodes states. In the classical sense, a state refers to the particular arrangement that something is in at a specific moment. Examples of a classical state are the position of a door: either open or closed; the color of a marker: red, blue, yellow, etc.; the value of a bit: 0 or 1 / false or true; and …

What is a Quantum Computer?

Edwin SolisArrayFire, Quantum Computing Leave a Comment

Quantum computing has been a growing area of computer science over the last few years. Thanks to leaps in material engineering, physics, and noise reduction algorithms, the possibility of constructing a fully-fledged quantum computer in the future grows nearer.  Like the computers we use daily, a quantum computer is a machine that can perform computations with given data. However, unlike classical computers, they are characterized by using Quantum Mechanical Principles in the data storage and logic of those computations. Among some of these novel Quantum Mechanical properties, these are the keys ones: Even if Quantum Computers have many advantages, including possibly being faster, are classical computers insufficient? As innovation in new technologies grows in fields such as finance, medicine, and …