I don't know if it will help at all in the context of OpenCV, but here's a test script that demonstrates farming out work to multiple GPUs: https://github.com/JuliaGPU/CUDArt.jl/blob/6409b57f7c80ed2459fd46c0e86ab8de681fd9bc/test/test.jl#L185-L222
--Tim On Saturday, December 06, 2014 04:17:39 AM Max Suster wrote: > Glad to hear interest in this package :) > I have indeed started to work on getting the CUDA features into OpenCV.jl > (this was reorganized/relabelled from gpu to CUDA). > > My understanding is that OpenCV CUDA algorithms can use only a single GPU, > and to utilize multiple GPUs, its necessary to distribute the work between > several GPUs manually. I am experienced and not sure how to do this now > with the Julia interface, but if you do know, I would be happy to > collaborate on this. My main goal is to use OpenCV for real-time tracking > applications (e.g., principal skeleton tracking), and using GPU (with up to > 30x the speed for acquisition) would be invaluable. > > I have tested OpenCV with both boost C++ (multithreading) and > GPU-accelerated approaches, and it seems to me that the GPU approach is > most promising. One challenge however is that I found it very messy to > compile OpenCV 3.0 with CUDA on OSX 10.9.5 and it seems to me that a number > of people have reported bugs with the v3.0 build itself (at least on OSX). > The second issue (as I am sure you know) is that for the GPU features to > be worthwhile, you need a decent NVIDIA card and my GTX-Force 330M with a > Computing Capability (CC) of 1.2 is not exactly amazing Hopefully this will > change soon with a new Mac :) > > Since OpenCV is such a large API and it is used widely for so many > applications, it will nice to hear from those interested here what features > are worth expanding and which maybe less so. > > Max > > On Saturday, December 6, 2014 12:16:59 PM UTC+1, Simon Danisch wrote: > > Personal note: > > I needed to do a lot of interactive 2D and 3D visualizations with results > > from OpenCV and it was all just very cumbersome... > > This was actually one of the primers for me to start searching for a > > better language, in which you could do the 2D/3D visualizations, without > > performance penalty and with a high degree of interactivity. > > > > Am Samstag, 6. Dezember 2014 11:44:45 UTC+1 schrieb Max Suster: > >> Hi all, > >> > >> A few months ago I set out to learn Julia in an attempt to find an > >> alternative to MATLAB for developing computer vision applications. > >> Given the interest (1 > >> <https://groups.google.com/forum/#!searchin/julia-users/OpenCV/julia-user > >> s/PjyfzxPt8Gk/SuwKtjTd9j4J> ,2 > >> <https://groups.google.com/forum/#!searchin/julia-users/OpenCV/julia-user > >> s/81V5zSNJY3Q/DRUT0dR2qhQJ> ,3 > >> <https://groups.google.com/forum/%23!searchin/julia-users/OpenCV/julia-us > >> ers/iUPqo8drYek/pUeHECk91AQJ> ,4 > >> <https://groups.google.com/forum/%23!searchin/julia-users/OpenCV/julia-us > >> ers/6QunG66MfNs/C63pDfI-EMAJ> ) and wide application of OpenCV for fast > >> real-time computer vision applications, I set myself to put together a > >> simple interface for OpenCV in Julia. Coding in Julia and developing > >> the interface between C++ and Julia has been a lot of fun! > >> > >> OpenCV.jl aims to provide an interface for OpenCV <http://opencv.org/> > >> computer vision applications (C++) directly in Julia > >> <http://julia.readthedocs.org/en/latest/manual/>. It relies primarily on > >> Keno´s amazing Cxx.jl <https://github.com/Keno/Cxx.jl>, the Julia C++ > >> foreign function interface (FFI). You can find all the information on my > >> package at https://github.com/maxruby/OpenCV.jl. > >> > >> You can download and run the package as follows: > >> > >> Pkg.clone("git://github.com/maxruby/OpenCV.jl.git")using OpenCV > >> > >> > >> For MacOSX, OpenCV.jl comes with pre-compiled shared libraries, so it is > >> extremely easy to run. For Windows and Linux, you will need to first > >> compile the OpenCV libraries, but this is well documented and links to > >> the > >> instructions for doing so are included in the README.md file. > >> > >> The package currently supports most of OpenCV´s C++ API; however, at this > >> point I have created custom wrappings for core, imgproc, videoio and > >> highgui modules so that these are easy to use for anyone. > >> > >> The package also demonstrates/contains > >> > >> - preliminary interface with the Qt GUI framework (see imread() and > >> imwrite() functions) > >> - thin-wrappers for C++ objects such as std::vectors, std::strings > >> - conversion from Julia arrays to C++ std::vector > >> - conversion of Julia images (Images.jl) to Mat (OpenCV) - though > >> this has much room for improvement (i.e., color handling) > >> > >> Please let me know if there are any features you would like to see added > >> and I will try my best to integrate them. In the meantime, I will > >> continue > >> to integrate more advanced algorithms for computer vision and eventually > >> extend the documentation as needed. > >> > >> Cheers, > >> Max
