Welcome to our community

Be a part of something great, join today!

  • Hey all, just changed over the backend after 15 years I figured time to give it a bit of an update, its probably gonna be a bit weird for most of you and i am sure there is a few bugs to work out but it should kinda work the same as before... hopefully :)

Petition for OpenCL R3D parser

Shawn Nelson

Well-known member
Joined
Dec 28, 2006
Messages
4,595
Reaction score
1
Points
0
Age
43
Location
Portland, OR
Just got back from a week of WWDC and sat through demos of OpenCL and lectures on it's actual use and am blown away by the potential of this cross-platform language.

As such, I make a major petition to Red to have an OpenCL R3D processor ready to go when Snow Leopard ships in September.

The ramifications? A 10x-100x speed up in R3D processing, on existing hardware :-).

Now I am afraid that it makes better business sense for Red to ignore OpenCL, because with a good parser and a few graphics cards you could do real time 4k. So, basically Red Rocket would only be needed for the output, not for the processing. Sub-$500 for real time 4k should be possible with OpenCL!

That and since it's C-based, porting over the existing RedAlert engine should be fairly minimal if coded right.

For those going "WTF is OpenCL?"
http://www.khronos.org/opencl/

EDIT: Just so no one get's emotional on me, I'm not suggesting Red is ripping us off, etc. Just making a point that an amazing new tech is here and could make a huge difference if not ignored.
 
Shawn, I've been given the same bottle of kool-aid. ;)

I personally have some doubts about the real world utility of OpenCL; while using the GPU can have massive benefits, the question is how well they match real world demands.

I don't know enough about what happens to R3D's inside a computer to even guess whether OpenGL would be of use, and this is before you get to the issue of what other elements become the limiting factor.
 
I received a PM informing me that I'm somewhat wrong. Without having seen the source code I have to admit that I am guessing. But I'm Computer Science by degree and have 7 years of professional full time experience, so even my guesses are professional in this arena.

That said, ANY algorithm that taxes the CPU can be sped up dramatically using OpenCL
 
I have done some render test on the GPU of a Radeon HD4870 and compared to a quad Nehalem 920 i7, and the GPU is about twice as fast, not 10 or 100 times.
 
The problem is that video cards I guess aren't very good at certain kinds of problems that need a lot of random memory access. The multiple cores aren't very good at sharing information. As a result they're great at per-pixel shading and independent processing. They're not very good at taking a large set of data and doing interrelated calculations.

The fact that RED hasn't been able to use CUDA or OpenCL probably is because decoding and debayering must require a lot of inter-core data sharing.

This would be my guess based on discussions with people I know who are intimately involved in accellerating ray tracers. And the people they work with are some of the people who helped create OpenGL so they understand the limitations and capabilities of their hardware.
 
Why would red go through all the hassle of developing an ASIC/FPGA card when an OpenCL solution was already possible?

If they wanted their $500 profit they could have charged $500 for the software. Sextupled their potential customer base and made more money than releasing a hardware solution.

It doesn't make good business sense to require your customers to spend a huge overhead when you could charge them for the R&D + Profit directly and dramatically reduce the expense to your customers.

If it were possible. I can almost guarantee you RED would have taken that approach instead of custom hardware.
 
Why would red go through all the hassle of developing an ASIC/FPGA card when an OpenCL solution was already possible?

If they wanted their $500 profit they could have charged $500 for the software. Sextupled their potential customer base and made more money than releasing a hardware solution.

It doesn't make good business sense to require your customers to spend a huge overhead when you could charge them for the R&D + Profit directly and dramatically reduce the expense to your customers.

If it were possible. I can almost guarantee you RED would have taken that approach instead of custom hardware.

Because it's not yet available, it will be in Sep
 
CUDA has been available for more than 5 years.

It's always surprising to Apple users. But if a 3D Card is doing it... PCs probably have had for a long time before it showed up in OSX. ;)
 
Shawn,

You got my vote too. OpenCL is a great idea.

Now if unencrypting wasn't in the loop decoding could likely really benefit from this. The mplayer guys proved that when they started decoding h.264 on the GPU.

You may want to have a look at http://reduser.net/forum/showthread.php?t=18180&highlight=piranha . Kyle makes some enlightening comments in Kyle's rant and when you really see what it is that's smacking your CPU's so hard the idea of shifing all the other 'useful' stuff to the GPU seems a lot less nonsensical.

I've used Kyles code and it's good stuff.. and having supervised development of proprietary code for numerous feature films (all on linux thank you) I can say with some degree of expertise that he knows his shit.

:J
 
Just because H.264 is easily GPUable doesn't mean JP2k("redcode") is.

H.264 is largely based on trigonometric transformations. Something which GPUs are really really good at.
 
I'm sure I read somewhere that Graeme said something like the first Redcode demosaic algorithms were GPU based, but they abandoned that because it wasn't any faster than doing it on the CPU...
 
GPU's are very fast... For the specific tasks that they're designed for. I think hooks for OpenCL within the RED SDK would be a good idea. After all, this is about options. I don't see OpenCL giving a huge speed boost (or any) with current hardware, when it comes to R3D processing. Then again, Graeme is the one to discuss that with. I'm just basing that on the little bit I know. I would think that if GPUs held a real advantage, they would've already been leveraged. After all REDCINE makes use of the GPU for color operations. After all, CUDA has been available for some time, as Gavin points out and there's room for GPU-specific extensions, using CUDA or not, withing OpenGL.

The other thing we all have to realize too is that a card like the RED Rocket will eventually be obsoleted by future CPUs. 2 to 3 years from now, we'll have 24~32 cores in a workstation PC / Mac, each core twice as fast as the Intel i7 architecture we have now. 4K or 5K real-time? Not a problem, and will do it by brute force on the CPUs.

Anyway, I'm all for OpenCL support in the RED SDK. I'm sure some would find it useful. If nothing else, to tie R3D functions right into other routines in a new application that makes heavy use of the OpenCL library.
 
I am in support. (and know NOTHING about what your talking about)

he he he!

has a sexy ring to it though...and that is what RED is about SEX correct?

OK, now I am LOL'ing at myself...I guess it's a good way to release stress of having to use a 5d instead of a scarlet on a shoot....LOL!!
 
CUDA is a pointless reference since it works only with NVidia, and limiting Red to work only on those would have been pretty limiting
 
OpenCL supports a wide range of applications, from embedded and consumer software to HPC solutions, through a low-level, high-performance, portable abstraction. By creating an efficient, close-to-the-metal programming interface, OpenCL will form the foundation layer of a parallel computing ecosystem of platform-independent tools, middleware and applications.

Holy Crap Shawn! that is awesome.
 
CUDA is a pointless reference since it works only with NVidia, and limiting Red to work only on those would have been pretty limiting

Limiting maybe to the 25% of the market which use AMD GPUs.

It's also currently the only standard which is on the market and has been on the market for years. Doesn't seem pointless to me.
 
Pretty much the best GPU programmer I know (who started on SGI IR engines) said that the GPU would likely help, especially once you get to higher bit rate codecs (think redcode 250).

Just to inform the discussion...

Now that's just one informed opinion but it's from a programmer I trust very much and has more than a decade coding high bit depth GPU based post solutions for the film industry.

:J
 
Back
Top