Is there a version of Rapids or a Docker image for ARM64 architecture, specifically am trying to run on nVidia Jetson Xavier?
My understanding is out of the box: CUDA, yes; Rapids and Dask, no.
However, there is a GitHub project you may be interested in.
Related
I am working on an AMD64 machine and I need to use libraries provided in an SDK that are .so files compiled for ARM64. The SDK also contains tools to cross-compile for ARM64 on AMD64 machines. I have access to a blank ARM64 machine.
What are some general approaches for running libraries like this on an AMD64 machine? I want to be able to run all the code locally. Is this even possible?
For reference, the SDK is something like the Yocto Project's SDK. Do I need something like the QEMU emulator as referenced?
In open CV CMakeLists.txt, there is a flag called "BUILD_CUDA_STUBS":
OCV_OPTION(BUILD_CUDA_STUBS "Build CUDA modules stubs when no CUDA SDK" OFF IF (NOT APPLE_FRAMEWORK) )
What does this means? It sounds like, open cv's doc is a bit limited on the build flag.
It’s poorly, or un-, documented.
If BUILD_CUDA_STUBS is enabled, when building, it (supposedly) adds some code (“CUDA stubs”) to replace the CUDA toolkit(’s drivers? IDK), to enable building CUDA-powered code on a machine that does not have the CUDA toolkit installed.
I recommend you just leave it OFF, which is the default, and install the genuine CUDA toolkit on your machine.
If I want to use my computer's GPU with OpenCV, is it necessary that I build OpenCV from source with CUDA enabled? Or can I install OpenCV with CUDA support via apt-get? I noticed the following 2 packages in apt-get:
libopencv-gpu-dev - development files for libopencv-gpu2.4v5
libopencv-gpu2.4v5 - computer vision GPU library
But I am not sure if these will work with OpenCV3 or if they are only compatible with OpenCV2. I know that the gpu module in Opencv2 was split up into multiple CUDA modules in OpenCV3.
Yes it is necessary that you build opencv from the source with CUDA option enabled. The apt-get packages won't work with OpenCV3 and above versions. I suggest you install the CUDA Toolkit first and then attempt installation of OpenCV or the GPU functions won't work.
I am installing openCV 3.1 following this guide. However after running CMake I see the following output
NVIDIA CUDA
Use CUFFT: YES
Use CUBLAS: NO
USE NVCUVID: NO
NVIDIA GPU arch: 20 21 30 35
NVIDIA PTX archs: 30
Use fast math: NO
I see that CUBLAS, NVCUVID and fastmath is set to NO. But I have installed cuda toolkit 7.5, so I don't understand why is it still NO, and how can I make so to install with full gpu support?
I am using Ubuntu 16.04, OpenCV 3.1
The guide that you mentioned using does not appear to have a flag related to or set to turn on the fast math feature. As far as I am aware you need to specify this during the cuda toolkit build or it will not be included in the build.
For example if you are using NVCC you must use the --use_fast_math flag; as is indicated here. So it is likely that the CMAKE scripting doesn't have that flag set anywhere either.
The Accelerate framework is a Mac-specific framework that provides things like image convolutions and LAPACK, supposedly optimized to be as fast as possible on Macs. My question: Does OpenCV take advantage of this? Specifically, does the function "filter2D" use Accelerate?
It does not use the Accelerate framework, but it looks like it has been speeded up using the CUDA stuff in 2.2
The relevant files in OpenCV2.2 ...
/modules/gpu/include/opencv2/gpu/gpu.hpp
/modules/gpu/src/filtering.cpp
and
modules/imgproc/src/filter.cpp
for the non-gpu stuff
Not a mac expert but AFAIK openCV uses IPP (if installed) TBB (build option) and NVidia-CUDA (build option)
If you use the MacPorts version, you can specify the options
$ port variants opencv
opencv has the variants:
debug: Enable debug binaries
python26: Add Python 2.6 bindings
* conflicts with python27
python27: Add Python 2.7 bindings
* conflicts with python26
tbb: Use Intel TBB
universal: Build for multiple architectures
I have used
sudo port install py26-numpy
sudo port install opencv +python26 +tbb
with success. Concerning the Accelerate.framework specifically, this blog entry says "# Add Accelerate.framework which is used internally from OpenCV library.", but I have no clue as to know if it is the case here.