ArrayFire Examples (Part 4 of 8) – Image Processing

ArrayFireArrayFire, CUDA Leave a Comment

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

ScottArrayFire, Benchmarks, Case Studies, CUDA, Events Leave a Comment

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

John MelonakosComputing Trends Leave a Comment

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

ArrayFireCareers Leave a Comment

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

ArrayFireArrayFire, CUDA Leave a Comment

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

John MelonakosEvents Leave a Comment

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 …

7 Highlights of GTC 2013 – Day 3 of 4

John MelonakosEvents Leave a Comment

Day 3 at GTC was awesome. It was super hard to narrow down our list to just 7 highlights. For instance, the stress ball pyramid in our booth does not count. Neither does the massive ArrayFire poster in front of the keynote hall. Here are 7 of the highlights we’ve collected from our team on the third day of GTC 2013: Professor Erez Lieberman Aiden of Baylor and Rice Universities gave a great keynote on “Parallel Processing of the Genomes, by the Genomes and for the Genomes.” He discussed how folding of genes and interactions between multiple folded genes can impact genetic expressions. It’s not just about the composition of the gene, but also how the gene folds. It turns …

7 Highlights of GTC 2013 – Day 2 of 4

John MelonakosEvents Leave a Comment

Day 2 at GTC was high energy. The after parties are still thumping. It was a hive of GPU activity. Here are 7 of the highlights we’ve collected from our team on the second day of GTC 2013: Jen-Hsun Huang of NVIDIA gave an awesome keynote. He covered 5 topics: Computer graphics – Awesome life-like renderings of human faces (here and here) GPU computing update – 1.6 million CUDA downloads so far, tons of interesting GPU-accelerated applications (including matchmaking website fish.com, a diamond cutting company, Shazam, Cortexica, and others), roadmap update (see the next highlight) Tegra roadmap update – (see the 3rd highlight) Remote graphics update – using GPUs to render things remotely and pipe them to the monitors of …

7 Highlights of GTC 2013 – Day 1 of 4

John MelonakosEvents Leave a Comment

AccelerEyes is out in force at GTC. We ended up with 10 of our engineers and sales staff here onsite. I collected feedback from the team to learn what people enjoyed the most from today’s activities. Here are 7 of the highlights we’ve collected from our team on the first day of GTC 2013: Will Ramey of NVIDIA kicked off GTC with a tutorial on the CUDA ecosystem. He talked about the three different approaches to getting GPU acceleration:  1) Libraries, 2) Compiler Directives, and 3) Programming Languages. He talked about how libraries, if you can find one for your application (hint, hint),  are the best of the 3 options, because you get great performance and you don’t have to …

Heterogeneous Computing Trends for Dummies

John MelonakosComputing Trends Leave a Comment

Ten days ago, I posted an article on CPU Processing Trends for Dummies. Today, I continue that series with an article describing the latest major trend in computing, namely Heterogeneous Computing. The Point The point of these articles is to paint the high-level picture for trends in computer processing. I hope this bigger picture will help summarize things for those that do not breathe computer processors and technical software on a daily basis. Over the last 20 years, big gains in computer processing have been defined by increases in CPU clock speeds, then by increases in the number of CPU cores. The next 10+ years will be defined by heterogeneous computing. Heterogeneous Computing So let’s start with a definition:  Heterogeneous …