Does Connext DDS Pro support Nvidia Jetson TX2? - data-distribution-service

I'm using Nvidia Jetson TX2 with Ubuntu 16.04 aarch64 in my project. I need to subscribe data from other system using Connext DDS Pro v5.2 running on Windows x86 or x64.
But RTI Connext DDS Pro didn't supply official pre-built package for ubuntu with ARMv8, and from "RTI_Connext...PlatformNotes.pdf" manual, there is also no support for ARMv8.
Is it possible to support ARMv8 CPU through building from source?
TX2's CPU info as below:
nvidia#tegra-ubuntu:~$ lscpu
Architecture: aarch64
Byte Order: Little Endian
CPU(s): 6
On-line CPU(s) list: 0,3-5
Off-line CPU(s) list: 1,2
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Model name: ARMv8 Processor rev 3 (v8l)
CPU max MHz: 2035.2000
CPU min MHz: 345.6000
L1d cache: 32K
L1i cache: 48K
L2 cache: 2048K
gcc info:
nvidia#tegra-ubuntu:~$ gcc --version
gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

RTI has a pre-built library for 64 bit ARMv8 with Ubuntu 16.04 (gcc 5.4.0) for the latest Connext DDS Pro version 5.3. This library was tested on NVIDIA Drive PX 2. Though it has not been tested specifically on NVIDIA Jetson TX2, from the spec you listed above it should also work on TX2.
You could contact sales#rti.com for access to this library.

Related

TensorFlow and CPU

I got the message "The TensorFlow library wasn't compiled to use SSE instructions...etc"
According to some answers in StackOverflow, this type of message, is coming up when "old" computers are used. All hints and suggestions related to installing TensorFlow did not work for me. My PCs are ca. 8-10 years old.
My question: What minimum configuration of a NEW PC (e.g. Intel, NVIDIA with GPU graphic card) is supposed to be used in order to make TensorFlow installed/working? Is any newer PC and/or notebook appropriate, independently of the Manufacturer?
I use OS Ubuntu 20.04, eventually Windows in rare cases.
Thank you
Bruno
The minimum system and software requirement to work with tensorflow was
System requirements
Ubuntu 16.04 or higher (64-bit)
macOS 10.12.6 (Sierra) or higher (64-bit) (no GPU support)
Windows Native - Windows 7 or higher (64-bit)
Windows WSL2 - Windows 10 19044 or higher (64-bit)
Software requirements
Python 3.7–3.10
pip version 19.0 or higher for Linux (requires manylinux2010 support) and Windows. pip version 20.3 or higher for macOS.
For, more details please refer to this documentation. Thank You.

How to install GPU driver on Google Deep Learning VM?

I just created a Google Deep Learning VM with this image:
c1-deeplearning-tf-1-15-cu110-v20210619-debian-10
The tensorflow version is 1.15.5. But when I run
nvidia-smi
it says -bash: nvidia-smi: command not found.
When I run
nvcc --version
I got
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Thu_Jun_11_22:26:38_PDT_2020
Cuda compilation tools, release 11.0, V11.0.194
Build cuda_11.0_bu.TC445_37.28540450_0
Does anyone know how to install the GPU driver? Thank you in advance!
Update: I've noticed that if you select GPU instance, then the GPU driver is pre-installed.
This is the guide: Installing GPU drivers.
Required NVIDIA driver versions
NVIDIA GPUs running on Compute Engine must use the following NVIDIA driver versions:
For A100 GPUs:
Linux : 450.80.02 or later
Windows: 452.77 or later\
For all other GPU types:
Linux : NVIDIA 410.79 driver or later
Windows : 426.00 driver or later
I would suggest to delete the instance and create another one. Keep in mind the version compatibility here and here. If you are installing drivers by yourself then whats the point of using pre-build instance.

External GPU with Vulkan

According to this Vulkan tutorial, I can use vkEnumeratePhysicalDevices to get a list of available GPUs. However, I don't see my external NVIDIA GPU in there, only my Intel iGPU.
This eGPU is connected via Thunderbolt and is running CUDA code just fine. Is there anything I might have missed? Is it supposed to work out of the box?
My machine is running Arch Linux with up-to-date proprietary NVIDIA drivers.
The eGPU is a NVIDIA GTX 1050 (Lenovo Graphics Dock). Is it possible that it just does not support Vulkan somehow?
Vulkan support should work just as well with external GPUs (eGPUs). Seeing the eGPU enumerated as a Vulkan device may require the eGPU to be recoznized by Xorg (or Wayland in the future).
See recently created https://wiki.archlinux.org/title/External_GPU#Xorg for changes probably required in Xorg config.

Set up OpenCL with intel graphics 4400 on arch linux?

I would like to enable OpenCL for GPU Computing on my laptop.
Its specs are the following:
OS: Manjaro ( Archlinux )
CPU / GPU: Core-i7 4600U / Intel Graphics 4400
I'm really new to this. What I did so far is to install all required dependencies as described here including:
intel-opencl
ocl-icd
clinfo
Executing clinfo returns the following output:
Number of platforms 1
Platform Name Intel(R) OpenCL
Platform Vendor Intel(R) Corporation
Platform Version OpenCL 1.2
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
Platform Extensions function suffix INTEL
Platform Name Intel(R) OpenCL
Number of devices 2
Device Name Intel(R) HD Graphics
Device Vendor Intel(R) Corporation
Device Vendor ID 0x8086
Device Version OpenCL 1.2
Driver Version r5.0.63503
Device OpenCL C Version OpenCL C 1.2
Device Type GPU
Device Profile FULL_PROFILE
Device Available Yes
Compiler Available Yes
Linker Available Yes
Max compute units 20
Max clock frequency 1100MHz
Device Partition (core)
Max number of sub-devices 0
Supported partition types by <unknown> (0x563e00000000)
Supported affinity domains (n/a)
Max work item dimensions 3
Max work item sizes 256x256x256
Max work group size 256
Speicherzugriffsfehler (Speicherabzug geschrieben)
Please notice the last line. I'm on a german working station so the last line stating a memory access error. I don't know how to fix it. Any advices would be really nice. Thanks in advance :-)
EDIT:
The exactly error message in english is:
segmentation error
Maybe that helps for further solutions...
It usually means some inconsistency between various pieces of hardware/software on your box. You have one platform (which is normal) with two devices - the first device has GPU type, but the clinfo couldn't request info about second device, which is probably your CPU.
I think you should develop a number of simple C/C++ programs to mimic what the clinfo does. It'll be very educational - anyway it's a first step any OpenCL program begin from. Use Khronos online manual:
clGetPlatformIds - to get list of platforms
clGetPlatformInfo - to request info about a platform
clDeviceIds - to get list of devices for a particular platform
clGetDeviceInfo - to request info about a device
and so on...
Hopefully, it will help you.

OpenCL detection bug

I'm new to Adobe Premiere and GPU acceleration. I started to follow simple tutorial on editing video with Premiere Pro CC that I had "Stopped Working" error after seconds when I hovered on my video or dragged it. Found that problem is because of OpenCL. So I put my settings to "Software Only" to have just CPU rendering.
My hardware and software:
HP ProBook 450 G1
Microsoft Windows 8.1 X64
AMD Radeon 8600/8700M
14.12 AMD Catalyst Omega Software
Intel HD 4600
AMD APP SDK 2.9
Microsoft Visual Studio Ultimate 2013
(For web developing. I'm not a CPP programmer.)
Adobe Premiere Pro CC
I used GPU-Z to have details about my AMD GPU and I saw that OpenCL is disabled and other one (Intel) is enabled.
Image
So I used /program files/adobe/adobe premiere pro cc/gpusniffer.exe and this is the output:
Found 2 devices supporting GPU computation.
OpenCL Device 0 -
Name: Intel(R) HD Graphics 4600
Vendor: Intel
Capability: 1.2
Driver: 1.2
Total Video Memory: 1348MB
* Not enabled by default because it did not match the named list of cards.
OpenCL Device 1 -
Name: Oland
Vendor: AMD
Capability: 2
Driver: 1.2
Total Video Memory: 2048MB
I read all the docs of APP SDK but I didn't find anything except this one:
Output of /windows/system32/clinfo.exe
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: No
Queue properties:
Out-of-Order: No
Profiling : Yes
Platform ID: 00007FFBA45D6B60
Name: Oland
Vendor: Advanced Micro Devices, Inc.
Device OpenCL C version: OpenCL C 1.2
Driver version: 1642.5 (VM)
Profile: FULL_PROFILE
Version: OpenCL 1.2 AMD-APP (1642.5)
What should I do in order to enable OpenCL in GPU-Z for my AMD Radeon GPU?
Thanks.
After two weeks Googling for my problem I found my answer in playing with regedit.
To have fun with OpenCL on Windows 8.1 and AMD Radeon we must do these:
Only use AMD Catalyst Control Center downloaded from AMD official website. (For me, installer downloaded from HP Support Center didn't work. I think because it didn't contains some packages.)
Download and install AMD APP SDK from AMD Developers official website.
Go to C:\Program Files (x86)\AMD APP SDK\2.9\bin. (It will be different based on your version.)
Copy and replace files from x86 folder (OpenCL.dll and amdocl.dll) to C:\Windows\SysWOW64.
Copy and replace files from x86_64 folder (OpenCL.dll and amdocl64.dll) to C:\Windows\System32.
Note: OpenCL.dll files are different with each other. Pay attention.
Open Start and type regedit in search or RUN.
Go to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors\.
Add amdocl64.dll as DWORD (32-bit) Value. (Do not edit it after creation!)
Navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Khronos\OpenCL\Vendors\.
Add amdocl.dll as DWORD (32-bit) Value.
Restart windows (Because of Catalyst) and start Catalyst.
In Premiere go to File -> Project Settings -> General -> Video Rendering and Playback and set Renderer to Mercury Playback Engine GPU Acceleration (OpenCL).
Note: In Registry Editor, 0 means true (enabled) and 1 means false (disabled) for OpenCL.
Note: regedit must run as administrator.
Done! Adobe Premiere Pro CC works fast and fine. Note: GPU-Z will not show OpenCL enabled. I think because its old version.
Image