In the previous post we validated our install and ran a simple detector in C++. It is now time to start optimizing it. Source code for the finished project is here. Optimizing Video Decoding If we build and run the video_reader.cpp OpenCV sample, we will observe a staggering performance improvement available in OpenCV for decoding … Continue reading Supercharging Object Detection in Video: Optimizing Decoding and Graph Feeding

# Category: CUDA

# Supercharging Object Detection in Video: TensorRT 5

Source code for the finished project is here. NVIDIA TensorRT is a framework used to optimize deep networks for inference by performing surgery on graphs trained with popular deep learning frameworks: Tensorflow, Caffe, etc. Preparing the Tensorflow Graph Our code is based on the Uff SSD sample installed with TensorRT 5.0. The guide together with … Continue reading Supercharging Object Detection in Video: TensorRT 5

# Zooming Through Euler Path: Supercharging with GPU

So, continuing where we left off: Walking the Euler Path: Intro Visualizing Graphs Walking the Euler Path: GPU for the Road Walking the Euler Path: PIN Cracking and DNA Sequencing For the Win And finally I ran the GPU-enabled algorithm for finding the Euler path. And the results: Generating euler graph: vertices = 10,485,760; avg … Continue reading Zooming Through Euler Path: Supercharging with GPU

# Walking the Euler Path: GPU for the Road

Continuation of the previous posts: Intro Visualization GPU Digression I was going to talk about something else this week but figured I'd take advantage of the free-hand format and digress a bit. Continuing the travel metaphor and remembering Julius Cesar's "alea iacta", we'll talk about GPU algorithms, for which I invariably use my favorite Aela.CUDA … Continue reading Walking the Euler Path: GPU for the Road

# Visualizing Graphs

Previously Walking the Eule Path: Intro Generating and Visualizing Graphs I can hardly overemphasize the importance of visusalizations. Many a bug had been immediately spotted just by looking at a visual of a complex data structure. I therefore decided to add visuals to the project as soon as the DirectedGraph class was born. Code & … Continue reading Visualizing Graphs

# Walking the Euler Path: Intro

Source Code I'm thinking about a few posts in these series going very fast through the project. The source is on my GitHub, check out the tags since the master branch is still work in progress. Experimenting with Graph Algorithms with F# and GPU Graphs play their role in bioinformatics which is my favorite area … Continue reading Walking the Euler Path: Intro

# GPU Split & Sort With Alea.CUDA

Implementing radix sort with Alea.CUDA using the Unbound module.

# Look-and-say: [Alea.]CUDA

Continuing the Advent of Code theme from the previous post. Figured since this year is going to be my year of CUDA, this would be a good opportunity to take it for a ride. A good April 1st post, but why wait? So, how can we make this even faster than the already fast imperative … Continue reading Look-and-say: [Alea.]CUDA

# Non-linear Thinking with CUDA.

I love GPU programming for precisely this: it forces and enables you to think about a solution in a non-linear fashion in more than one sense of the word. The Problem Given a set $latex A = \{a_1, a_2 \ldots a_n\}$, output a set $latex S_A = \{0,\ \sum\limits_{k=1}^{n} a_k,\ \sum\limits_{k=i}^{i + j \mod n} … Continue reading Non-linear Thinking with CUDA.

# Fun with Alea.CUDA, F# Interactive, Charts

Source code for this post can be found on my GitHub. It's great to see technologies evolving over the years. Alea.CUDA has done so in leaps and bounds since the first time I laid eyes on it a couple of years ago. At the time the name seemed unfortunate and hinted at the "aleatic" programming … Continue reading Fun with Alea.CUDA, F# Interactive, Charts