Driver: Installation Failed You may find this error message while trying to set up the NVIDIA CUDA Toolkit in Ubuntu. I found it when I was installing the toolkit for ArrayFire [1] CUDA Toolkit Installation 1. Download the CUDA Toolkit in the link. 2. Extract the .run file in a location sudo sh cuda_5.0.35_linux_64_ubuntu11.10-1.run –extract <location> 3. Exit the X server (press Ctrl+Alt+F1) and stop the display manager by the following command. sudo stop lightdm 4. cd to the location and now there are run files named samples*, devdriver* and cudatoolkit*. 5. Install devdriver (*only if NVIDIA Driver is not installed) sudo sh devdriver_5.0_linux_64_304.54.run 6. Install cudatoolkit sudo sh cudatoolkit-5.0.35_linux_64_ubuntu11.10.run In the end, when it asks …
Beamforming with ArrayFire
Alessandro Savoia and researchers at Università degli Studi Roma Tre have achieved an order of magnitude improvement in the performance of a beamforming application using ArrayFire for GPU acceleration with CUDA-capable NVIDIA GPUs. This application involves conventional beamforming. Steps include the application of a time delay to each signal vector, summation across all vectors, and processing on the result. Processing includes demodulation, envelope extraction, and logarithmic compression. ArrayFire’s functions for shifting, interpolation, and filtering made this application possible for acceleration on GPUs and reduced the time to develop significantly. Alessandro’s benchmarks show that a CPU-only version was only running at 1 frame/sec, while the ArrayFire-accelerated version was running at 10-20 frames/sec, depending on the dataset. Alessandro and his team are looking forward to …
Are You Getting Left Behind?
HPCwire posted a nice article today with trends from IDC on computer processing. These trends fall inline and corroborate things we’ve been saying here on this blog. Accelerators (including GPUs and co-processors) are taking off. Are you getting left behind? If you’re reading this blog, you’re probably at the bleeding edge, but nonetheless here are some interesting excerpts from HPCwire’s market report (go read the whole thing): “While they expected to see a jump in coprocessor and accelerator uptake, they were wholly unprepared for the overwhelming positive response to GPUs and new entrants into the market, most notably Intel’s shiny new Phi.” “Conway said that while accelerator and coprocessor adoption growth was anticipated, they had no idea that it would …
History of the Modern GPU Series
Graham Singer over at Techspot posted a series of articles a few weeks ago covering the history of the modern GPU. It is well-written and in-depth. For GPU affectionados, this is a nice read. There are 4 parts to the series: Part 1: (1976 – 1995) The Early Days of 3D Consumer Graphics Part 2: (1995 – 1999) 3Dfx Voodoo: The Game-changer Part 3: (2000 – 2006) The Nvidia vs. ATI Era Begins Part 4: (2006 – 2013) The Modern GPU: Stream processing units a.k.a. GPGPU Enjoy!
ArrayFire Examples (Part 4 of 8) – Image Processing
This is the fourth in a series of posts looking at our current ArrayFire examples. The code can be compiled and run from arrayfire/examples/ when you download and install the ArrayFire library. Today we will discuss the examples found in the image_processing/ directory. In these examples, my machine has the following configuration: ArrayFire v1.9 (build XXXXXXX) by AccelerEyes (64-bit Windows) License: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CUDA toolkit 5.0, driver 306.94 GPU0 GeForce GT 650M, 2048 MB, Compute 3.0 (single,double) Display Device: GPU0 GeForce GT 650M Memory Usage: 1981 MB free (2048 MB total)… Image Demo The purpose of this example is to show how to do some common image manipulations. The method channel_split shows how easily multi-dimensional arrays can be subdivided: // Split a MxNx3 image into 3 separate channel …
ArrayFire + Scorpii Demo by CreativeC
CreativeC makes awesome compute + visualization systems. We got to see the demo in live action at the GPU Technology Conference last month. Tim Thomas was kind enough to let us film the demo showing how ArrayFire can be used to drive a multi-node, 9 GPU system in a physics application. Checkout the video below. If you are interested in high-throughput compute coupled with high-pixel visualizations, we recommend you talk with the folks at CreativeC. They are always pushing the envelope on what can be done with GPU computing and GPU visualizations. Also, if you have cool demos showing ArrayFire in action, let us know. We’d love to film your work and make it available on this blog! Related articles …
Parallel Software Development Trends for Dummies
Last month, I posted two articles describing computing trends and why heterogeneous computing will be a significant force in computing for the next decade. Today, I continue that series with an article describing the biggest challenge to continued increases in computing performance – parallel software development. Biggest Challenge As I described previously, in order to use an accelerator, software changes must be made. Regular x86-based compilers cannot compile code to run on accelerators without these needed changes. The amount of software change required varies depending upon the availability of and reliance upon software tools that increase performance and productivity. There are four possible approaches to take advantage of accelerators in heterogeneous computing environments: do-it-yourself, use compilers, use libraries, or use …
Life at AccelerEyes
Here’s an account of life at AccelerEyes from Vish, the first full-time employee at the company. Over the past 3 months, our company has doubled in size and Vish recently wrote the following to the new employees. We share here on the blog too to give a peek into our culture. If you are a great GPU programmer, you might be interested in joining our team too. — Hello Everyone, When I joined in early 2009, AccelerEyes was barely occupying a full cubicle. “Could this be a company?”, was my first thought. And yet, here we are, growing in size, reputation, and revenue! I will always cherish those early days for the complete uncertainty as to the future – both mine and …
ArrayFire Examples (Part 3 of 8) – Financial
This is the third in a series of posts looking at our current ArrayFire examples. The code can be compiled and run from arrayfire/examples/ when you download and install the ArrayFire library. Today we will discuss the examples found in the financial/ directory. In these examples, my machine has the following configuration: ArrayFire v1.9 (build XXXXXXX) by AccelerEyes (64-bit Linux) License: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CUDA toolkit 5.0, driver 304.54 GPU0 Quadro 6000, 6144 MB, Compute 2.0 (single,double) Display Device: GPU0 Quadro 6000 Memory Usage: 5549 MB free (6144 MB total)… Black-Scholes There are a number of applications of ArrayFire and GPU programming in the world of finance and markets. Here we have an example of Black-Scholes, which is a model for computing options prices in the stock market. Understanding …
7 Highlights of GTC 2013 – Day 4 of 4
Day 4 at GTC is always a little less hyped than the first 3 days, but it is when some of the best sessions are found. Here are 7 of the highlights we’ve collected from our team on the last day of GTC 2013: Paulius Micikevicius of NVIDIA gave a great talk entitled, “Performance Optimization: Programming Guidelines and GPU Architecture Details Behind Them.” It was so great, we have 2 highlights from this talk. The first Paulius highlight is the information about how instruction level parallelism is essential to fully take advantage of Kepler GPUs. Paulius gave a clear presentation on these difficult concepts. The second Paulius highlight is the thorough treatment of memory hierarchy for Kepler. It is very detailed and …