openGL glsl used for gpu acceleration?  

All things panoramic.
An open forum for every topic on photography, panoramas, IT or related.
User avatar
Castillonis
Member
 
Topic author
Posts: 264
Likes: 0 post
Liked in: 0 post
Joined: Thu Mar 06, 2008 8:49 pm
Location: Oakland, Ca
Info

openGL glsl used for gpu acceleration?

by Castillonis » Thu Dec 25, 2008 1:23 am

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.

User avatar
AlexandreJ
Kolor Team
 
Posts: 5987
Likes: 7 posts
Liked in: 10 posts
Joined: Mon Nov 14, 2005 4:56 pm
Location: Francin, France
Info

by AlexandreJ » Thu Dec 25, 2008 10:27 am

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.

no avatar
mediavets
Moderator
 
Posts: 16415
Likes: 2 posts
Liked in: 130 posts
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.
Info

by mediavets » Fri Dec 26, 2008 10:53 am

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?
Last edited by mediavets on Fri Dec 26, 2008 10:56 am, edited 1 time in total.
Andrew Stephens
Many different Nodal Ninja and Agnos pano heads. Merlin/Panogear mount with Papywizard on Nokia Internet tablets.
Nikon D5100 and D40, Sigma 8mm f3.5 FE, Nikon 10.5mm FE, 35mm, 50mm, 18-55mm, 70-210mm. Promote control.

User avatar
AlexandreJ
Kolor Team
 
Posts: 5987
Likes: 7 posts
Liked in: 10 posts
Joined: Mon Nov 14, 2005 4:56 pm
Location: Francin, France
Info

by AlexandreJ » Sat Dec 27, 2008 10:47 am

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.

User avatar
Castillonis
Member
 
Topic author
Posts: 264
Likes: 0 post
Liked in: 0 post
Joined: Thu Mar 06, 2008 8:49 pm
Location: Oakland, Ca
Info

by Castillonis » Sat Jan 10, 2009 1:12 am

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.
Last edited by Castillonis on Sat Jan 10, 2009 1:13 am, edited 1 time in total.

User avatar
AlexandreJ
Kolor Team
 
Posts: 5987
Likes: 7 posts
Liked in: 10 posts
Joined: Mon Nov 14, 2005 4:56 pm
Location: Francin, France
Info

by AlexandreJ » Sun Jan 11, 2009 9:31 am

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.

User avatar
Castillonis
Member
 
Topic author
Posts: 264
Likes: 0 post
Liked in: 0 post
Joined: Thu Mar 06, 2008 8:49 pm
Location: Oakland, Ca
Info

by Castillonis » Mon Jan 12, 2009 9:37 pm

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.

User avatar
AlexandreJ
Kolor Team
 
Posts: 5987
Likes: 7 posts
Liked in: 10 posts
Joined: Mon Nov 14, 2005 4:56 pm
Location: Francin, France
Info

by AlexandreJ » Tue Jan 13, 2009 9:14 am

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.

User avatar
Damien
Member
 
Posts: 62
Likes: 0 post
Liked in: 0 post
Joined: Tue Jul 17, 2007 2:19 pm
Location: Ici ou là bas
Info

by Damien » Tue Feb 24, 2009 2:41 pm

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
Canon EOS 40D - Canon EOS 10D - Canon EOS 300
Speedlite 580EX II
50mm 1.8 Canon | 100mm 2.8 Macro Canon | 75-300mm 4.5-5.6 IS USM Canon
17-70mm 2.8-4.5 DC Sigma | 24-70mm 3.5-4.5 Sigma

no avatar
Gordon
Member
 
Posts: 357
Likes: 0 post
Liked in: 0 post
Joined: Wed Oct 08, 2008 12:18 pm
Location: Deep in the woods, UK
Info

by Gordon » Tue Feb 24, 2009 9:17 pm

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
2000th Member :D

GigaPixel Experimenter
Gigapan Beta Unit, Canon Powershot S5IS, Canon 350D, Nikon D40, Manfrotto Tripod, BT-Serial + Papywizard on Nokia 770, Fully-Operational Merlin the Wizard Unit!!!


Who is online

Users browsing this forum: No registered users and 2 guests