Announcing the Winners of the Innovation Challenge!

The moment you’ve all been waiting for, the OpenCL Innovation Challenge Winners!

We are SO excited to announce the winners of the OpenCL Innovation Challenge!  It has been a long time coming and while we wanted to get this out to you as soon as possible, we also wanted to make sure that we took a deep dive into each submission to make sure that the winners were properly chosen. That ended up taking much longer than we anticipated, but the wait is over and without further ado…

The winners are:

Award TopCoder Handle OpenCL App Prize Amount (USD)
1st dar11031971 Ghost Rider $20,000
2nd dhbellol Real-time Video editing with Kinect & AMD Fusion $10,000
3rd elzahhar A Semi-supervised Learning-Based Method for Adaptive Shadow Detection $2,500
4th vic20 Numerical Simulation of an X-Ray Generator $1,000

The honorable mention awards go to:

TopCoder Handle OpenCL App Prize Amount (USD)
Smistad Fast Visualization of Medical Images $250
WTrei CL Elliptic Curve Method $250
ryuu Utilizing AMD APPSDK to Search for Files $250
Intijk Parallel SAR image speckle reducing Using OpenCL $250

Congratulations!!  Your submissions demonstrated exceptional use of OpenCL to take advantage of the AMD Fusion architecture.  Your ideas were novel, well coded and documented.

Announcing the Winners for the Performance Challenge 1

We are excited to announce the winners for the OpenCL Performance Challenge!  Your submissions have been run through a functional verification whereby they went through many iterations of evaluating 7 images at a time and averaged the scores.  Then we went through the code by hand to verify that it was properly timed, used OpenCL, and were functionally correct.

And the winners are…

TopCoder Handle Final Time (ms) Prize
First place Alegro 32.92 $2,500
Second Place Blaze 36.42 $1,700
Third Place Bmerry 44.66 $900
Fourth Place Phateus 49.62 $450
Fifth Place Syg96 51.8 $225

Congratulations!!  You all really amazed us with the OpenCL expertise you gained in such a short time.

Note:  the Innovation Challenge winners are nearly finalized, stay tuned!

OpenCL Performance Challenge Wrap Up

Thank you so much for participating in this challenge. We are amazed at the level of OpenCL expertise that was shown in 3+ weeks of competition! You are all officially now experts in OpenCL and AMD APU memory architecture!! We are busily going through the submissions for the final evaluation this week to determine the top 5 winners.

Those of you who competed in this round knew that there were some issues that came up with this competition problem statement and platform. I wanted to say thank you for your patience and input that we learned much from. This was a learning experience for us too. In order to address some of these things for the next round, we are going to delay it to tentatively start November 29th ending on December 16th.

PS. We are also still evaluating the innovation challenge but getting VERY close. It is a significant amount of money, so we are going through each submission carefully to make sure we choose the absolute best submissions. We have narrowed it down to the top 6 – and I’m getting final votes this week. As a reminder, there are 4 top prizes, and 5 honorable mentions.

AMD OpenCL Coding Competition Continues!

We are still evaluating the results from the first round of this competition.  The submissions were each so unique and innovative.  The submissions really cover all possible applications, from games, to economic simulations, to genetics, to desktop search.  It is simply amazing.  The only downside is that it is taking us much longer to choose the winners because we want to make sure we do due diligence and do a deep dive into each and every submission.  The judges are working hard to choose the winners in the next 2-3 weeks.

In the meantime, it is time to get ready for the performance challenge!  It starts on Wednesday 9/28 and we are busy getting the final details figured out.  This is slightly different competition than you might be used to since it is not actually on the TopCoder platform.  Your code will run on an APU farm and you will have three weeks to optimize it to get the best execution time.

Here are some references to optimizing with OpenCL to get your started:

Thank you for Participating!

The Open Innovation Challenge closed this morning.  I wanted to extend my sincere thanks to everyone who participated.  We are very excited to analyze the final submissions and expect to announce the winners no later than the start of the Performance Challenge on September 26th (or earlier if we can make that happen).

If you weren’t able to compete in this challenge, don’t worry, there are still cash prizes to be had in the next phase of this competition!  This is what we like to call the “Performance Challenge”.  It’s an algorithmic competition where you can prove your OpenCL know-how by optimizing an OpenCL algorithm better than your competitors.  There will be two of these challenges back-to-back, each lasting three weeks long.  It starts September 26th, so keep honing those OpenCL skills!  Chances are good that you could win one of these prizes:

  • 1st: $2,500
  • 2nd: $1,700
  • 3rd: $900
  • 4th: $450
  • 5th: $225
Interview with competitor: supercharger

During the competition, we thought it would be a good idea to reach out to some of the competitors and get to know them a bit better.  Below is an interview with supercharger, a TopCoder veteran and winner of past challenges.

1.       How did you find out about TopCoder and how long have you been a member?

I found it by googling around for algorithm competitions or got navigated from other forums.  By then I had a goal of making to Topcoder Open finals mainly inspired from Call for member videos for 2009 Topcoder Open, which I was able to do it for 2010 Topcoder Open and that was one of the happiest moments  :)

I’ve been member for over 2 yrs, and I wish I’d known it before.

2.       What type of competitions are your favorite and why?

Idea (along with implementation) and Proof of Concept competitions. The major motive is to get a chance to address unsolved problems, and the being the first one to solve such problems.

I also like Bug Race competitions as they were the quick to solve and get the results.

3.       Why did you decide to participate in this competition?

I think General Purpose GPU computing (or Heterogeneous computing) is one more era of computing Evolution, I wanted to be part of it. This competition gave a strong reason for it.

Also, success (more of positive result) with previous similar idea contests made look forward for this kind of contests.

4.       What’s your experience with OpenCL?

Honestly, I am new to OpenCL, except having a look at couple of CUDA programs before and little experience with OpenMP.

As always, when I am signing up for this contest, I thought I could do it. It turned out to be not much difficult.

5.       What are your favorite online resources for this OpenCL and for development in general?

Mainly the resources at AMD OpenCL site

1) OpenCL Video Series

2) OpenCL Articles and publications

3) AMD OpenCL Forums

Also, the Slides from OpenCL workshop at CERN, OpenCL specification at khronos site. OpenCL Man Pages for any documentation of function calls.

In General, I like the stackoverflow and specific open source mailing-lists.  Usually, properly phrased Google Keywords brings the resources and help.

6.       What was the inspiration for your problem statement?

When I saw OpenCL, whole set of problems from HPC to Consumer category came to mind.  But, then I concentrated on, what makes AMD Fusion different from previous implementations (from Other Vendors), Can it address problems not properly addressed previously.

But, the real inspiration for my problem statement(s) came from problems I face in day to day computing.

7.       What do you think about AMD’s APU processor architecture?

I think AMD did a great job with APU, integrating proven [AMD] Radeon GPU with CPU.

Previously, certain category of Applications which didn’t make ground breaking performance or not feasible to implement at real time because of memory latencies, can now make use of [AMD] Fusion Architectural benefits. Also, Battery life that we get with APU (compared with discreet solutions) really matters to end user.

AMD can take advantage of this early lead, by building up the general consumer awareness which can be possible by having more apps targeting APU.

8.       What advice would you give to someone just learning OpenCL?

The videos and Webinar Series at AMD OpenCL Site are really helpful to get very quick understanding of OpenCL. After you got basic understanding of OpenCL, the best thing is to start playing with OpenCL

NBody AppSDK Sample followed through this tutorial and AMD NBody Webinar can really get you started.

The OpenCL specification at Khronos site is really great.  A newbie can really understand the content, which is not like what you expect in specifications. (You might want to stick up this reference card to your desk).

Also, It is really important to understand GPU or APU Architecture (for example GPU cores are really different from CPU Cores), And how you would parallelize the algorithm into kernels for efficient use of GPU warp/wavefront.

AMD APP SDK v2.5 Now Available & Deadline Extension

We just released an updated version of the AMD APP SDK!  Rather than re-blogging what someone else has already blogged about, I will point you to a few links that you should definitely take a look at:

….1. AMD APP SDK 2.5 Provides Enhanced Performance and Major New Capabilities
….2. CPU-to-GPU data transfers exceed 15GB/s using APU zero copy path

There were some requests for extension, and normally we wouldn’t consider it because it could seem unfair to those who have been actively dedicated from the start.  However, we would grant this request based on the fact that the new version of our SDK just launched and you might be able to take advantage of some of these new features in your work.  Hopefully no one objects to that, but let us know on the forums if you do.

In other OpenCL news, AMD will be at Siggraph next week offering OpenCL courses and training on using gDEBugger, an OpenGL and OpenCL debugger and memory analyzer.  You might also be interested in reading this blog post about the OpenCL Programming Guide, a book that into the details of the OpenCL 1.1 spec, case studies, and techniques.  And, last but not least, ALL of the session video from AFDS are online now!

Self-Evaluation Checklist

Dear participants,

Thank you for being part of this competition!

We would like to provide you with a more detailed guideline that will help in the problem definition and development. This guideline is a series of questions, which we will use when evaluating your solution and you can use as a as a self-evaluation to guide you in determining if you have fully taken advantage of the hardware (GPU/APU) and software (OpenCL AMD extensions) features. Please don’t limit your imagination on how you plan to use those features, as this is only a guideline.

1. How does my program benefit from APU/GPU?
…..a. Where and how am I using APU/GPU features? Such as the local data storage (local memory, constant memory, private memory), zero copy buffers, etc.
…..b. How are the APU/GPU architectural features handled? Such as memory latency hiding (global work size vs. local work size), CPU/GPU data transfer reduction, optimal usage of workgroup size, register usage, OpenCL/OpenGL interoperability, etc.
…..c. Did I use as many OpenCL features as possible to benefit my design? What AMD OpenCL extensions are taken advantaged of? Such as different buffer types, etc.
2. Originality
…..a. How suitable is my algorithm for OpenCL implementation? How shall it be targeted to GPU(s)/APU(s)? Can more parallelism be exploited?
…..b. How does my originality differentiate from previous implementations, if there are similar implementations realized before?
3. Am I considering the software engineering, what is the open source potential, commercial potential, portability, scalability, compactness and etc.?
…..a. Commercial potential:  Does my program benefit a wide audience?
…..b. Open Source potential:  Does my program solve a valuable problem that would be interesting for many developers want to contribute to it?
…..c. What is the portability and scalability in CPU(s), GPU(s)?
…..d. Is the program compact and reusable?
4. Magnitude of effort
…..a. Did I think through the problem in its entirety given the time allowed?

Record High Registration Numbers for the AMD OpenCL Coding Competition!

We are closing out week #1 of the AMD OpenCL Coding Competition and it is heating up with the highest number of registrations for a TopCoder Innovation Challenge to date!  A few people have even uploaded their submission which is very exciting.  There was a ton of positive press from the inaugural AMD Fusion Developer Summit (AFDS) last week and the great response to this competition confirms that OpenCL is an exciting and relevant technology.  By the way, the AFDS sessions, keynotes and tutorials are being made available online if you want to learn more about OpenCL.

It’s not too late to compete!  June 30th is the deadline to submit your abstract in time to get feedback, so if you were considering joining the competition, do it now!  We will be accepting submissions after June 30th; however you won’t get the added benefit of having guidance from AMD judges.

Keep up the work competitors; we cannot wait to see what you can do!

Announcing the AMD OpenCL™ Coding Competition!

Topcoder is hosting the AMD OpenCL™ Coding Competition.  This competition takes parallel programming to the next level by introducing the GPU to the mix, i.e. heterogeneous computing.  By harnessing the GPU’s compute power through the use of the AMD Accelerated Parallel Processing Technology (AMD APP SDK) with OpenCL 1.1 support, you tap into huge parallel processing potential.  With AMD Fusion Accelerated Processing Units (APUs) every CPU will have a GPU on the same die, with many functional processors at your disposal without the traditional bandwidth bottleneck of other heterogeneous computing platforms. Check out the short APU video for a high level introduction to AMD Fusion APUs.

Just think of what that you could do with AMD Fusion processors for game physics, facial recognition, voice recognition, video searching, video stabilization, etc.   What kinds of applications can you dream up with this architecture at your fingertips?

APP Forums