Page 1 of 1

openGL glsl used for gpu acceleration?

PostPosted: Thu Dec 25, 2008 1:23 am
by Castillonis
What did Alexander use for gpu acceleration. I am assuming that he used openGL glsl (gl shader language) to dispatch tasks to the GPU. I don't know if other shader languages are mutliplatform. I know that Sh helps hide the hardware details.

PostPosted: Thu Dec 25, 2008 10:27 am
by AlexandreJ
Yes, we used glsl. It's the only one for the moment that will work crossplatform. Cuda could be used too, but it would reduce the choice to Nvidia gpu only.
The next big think is in fact OpenCL ( not openGL, don't misread it ). It's an uniform version of GPGPU crossplatform.

PostPosted: Fri Dec 26, 2008 10:53 am
by mediavets
Does APP make full use of multi-core CPUs (in addition to a GPU) eg. Intel Core 2 Quad?

How much advantage does a Core 2 Quad have over a Core 2 Duo? Does it scale linearly? Does it depend on OS?

Would a Core 2 Duo + GPU outperfom a Core 2 Quad without supported GPU?

PostPosted: Sat Dec 27, 2008 10:47 am
by AlexandreJ
Yes. Multicore is used in many part of the software :
- raw decoding
- detection
- matching
- rendering,
In autopano 1.4.2, it was only used in the rendering part.

PostPosted: Sat Jan 10, 2009 1:12 am
by Castillonis
I really hope that openCL is successful. They are going provide openMP and GPU shader support as well as support accelerators such as the cell processor if the vendors implement the drivers. ATI, Intel, and Nividia have signed on and the 1.0 spec has been released. Khronos is implementing openCL. Thanks to Alexander for pointing this out. I did not know what openCL was and had ignored it the few times I had seen it mentioned.

http://www.khronos.org/
http://www.khronos.org/opencl/

There is a good forum for GPU acceleration here
http://www.gpgpu.org/
http://www.gpgpu.org/forums/

The GPU gems 2 book is available online at the Nvidia developer.
http://http.developer.nvidia.com/GPUGems2/gpugems2_part04.html

The GPU gems 3 book is focused on the Nvidia CUDA platform which is limited to Nvidia
The GPU gems 1 book has a section on the openEXR file format and on color correction by adobe.

PostPosted: Sun Jan 11, 2009 9:31 am
by AlexandreJ
Yes, we also hope that openCL will be a success. Nevertheless, I talked to engineers of nvidia and they told me that their first concerns is pushing forward cuda. ATI is going to invest massively in openCL not I'm not worried about them. As they said : it's industrial partners that will give the trend : if everybody is using cuda, they will continue to support that one first.
Then Intel ... they have larabee : nice technology. Instead of shaders and complicated syntax, they put a x86 cpu for each stream processor. So you just have to code your shader in x86.

Anyway. For our concerns, we need to concentrate on several aspect ourself because no technology gives us the real answer. That's why we have a 2 side solution : glsl for gpu acceleration and our own threading system for multi-core. We also rely ourself on an optimized library for math / image processing.

PostPosted: Mon Jan 12, 2009 9:37 pm
by Castillonis
The gigapan stitcher uses the NASA Vision workbench image processing libraries. It has support for convolution, difference of gaussians, multi band blending, some HDR, etc. There is documentation for the 1.0 release, but the new 2.0 release does not have a public document yet.

PostPosted: Tue Jan 13, 2009 9:14 am
by AlexandreJ
I didn't know this NASA package. A good found.

Edit : In fact, it's the gigapan code. In credit : see "Randy Sargent" -- Mosaic, Core, Image.

PostPosted: Tue Feb 24, 2009 2:41 pm
by Damien
AlexandreJ wrote:Yes, we used glsl. It's the only one for the moment that will work crossplatform. Cuda could be used too, but it would reduce the choice to Nvidia gpu only.
The next big think is in fact OpenCL ( not openGL, don't misread it ). It's an uniform version of GPGPU crossplatform.

Brook is cross-plateform too. It can use AMD, Nvidia and Intel GPUs.
http://wapedia.mobi/en/BrookGPU

PostPosted: Tue Feb 24, 2009 9:17 pm
by Gordon
AlexandreJ wrote:I didn't know this NASA package. A good found.

Edit : In fact, it's the gigapan code. In credit : see "Randy Sargent" -- Mosaic, Core, Image.

Link here for Nasa Vision Workbench ver2 not released as yet http://ti.arc.nasa.gov/projects/visionworkbench/

It's an interesting read :)
The VW is a general purpose image processing and computer vision library developed by the Autonomous Systems and Robotics (ASR) Area in the Intelligent Systems Division at the NASA Ames Research Center. VW has been publically released under the terms of the NASA Open Source Software Agreement.

Gordon