@Alex-Kushleyev Awesome! Thanks again for all your help with this!
Posts made by eric
-
RE: Voxl2 Docker (Ubuntu 22) with OpenCL/Adreno
-
RE: Voxl2 Docker (Ubuntu 22) with OpenCL/Adreno
@Alex-Kushleyev Yes, dpkg -S <file path> to figure out which debs installed which libraries (ie,
dpkg -S /usr/lib/libOpenCL.so
), apt-cache show to see the source (ubuntu ppa vs modalai), then dpkg-repack to repack the modalai debs.Thanks again!
-
RE: Voxl2 Docker (Ubuntu 22) with OpenCL/Adreno
OMG IT WORKS!!
I was able to extract all these libraries from the host and directly install them inside the docker, and now the pcol-opencl-icd installation isn't needed.
This is really important for us, since it allows us to build external dependencies that rely on OpenCL in our pipeline directly without bind mounts (outside the host environment).
Really, really appreciate all your help!
FROM arm64v8/ubuntu:22.04 # Install necessary dependencies RUN apt-get update && \ apt-get install -y \ cmake \ build-essential \ libglib2.0-0 # Copy Adreno GPU dependencies # - libcutils0_0-r1_arm64.deb # - libsync_1.0-r1_arm64.deb # - qti-libion_0-r1_arm64.deb # - liblog0_1.0-r1_arm64.deb # - qti-adreno_1.0-r0_arm64.deb COPY dep /root/dep # Create required directory for qti-adreno install RUN mkdir /usr/include/KHR && dpkg -i /root/dep/*.deb # Copy and build test script COPY ./hellocl /root/hellocl RUN cd /root/hellocl && mkdir build && cd build && cmake .. && make CMD ["bash"]
voxl2:~/opencl$ docker run -it --rm --privileged opencl:latest ./root/hellocl/build/hellocl Platform Information: Platform Name: QUALCOMM Snapdragon(TM) Platform Vendor: QUALCOMM Platform Version: OpenCL 2.0 QUALCOMM build: commit # changeid # Date: 11/10/21 Wed Local Branch: Remote Branch: Platform Profile: FULL_PROFILE Platform Extensions: ------------------------------------ Device Information: Device Name: QUALCOMM Adreno(TM) Device Vendor: QUALCOMM Driver Version: OpenCL 2.0 QUALCOMM build: commit # changeid # Date: 11/10/21 Wed Local Branch: Remote Branch: Compiler E031.37.12.01 Device Version: OpenCL 2.0 Adreno(TM) 650 Device OpenCL C Version: OpenCL C 2.0 Adreno(TM) 650 Device Max Compute Units: 3 This should be three: 3
-
RE: Voxl2 Docker (Ubuntu 22) with OpenCL/Adreno
@Alex-Kushleyev That aligns pretty well with my own experience so far. Thanks again for looking into this!
-
RE: Voxl2 Docker (Ubuntu 22) with OpenCL/Adreno
@Eric-Katzfey Really appreciate it! Thanks so much
-
RE: Voxl2 Docker (Ubuntu 22) with OpenCL/Adreno
@Eric-Katzfey I know it's been a few years, but I see your name all over the
voxl-docker-opencl
commit history was wondering if you'd be able to share your thoughts regarding how I might approach this? Specifically, if there are any steps you'd recommend I take to get OpenCL integrated into docker for Voxl2.Thanks,
Eric -
RE: Voxl2 Docker (Ubuntu 22) with OpenCL/Adreno
For reference, I've tried downloading the adreno-opencl-sdk-2.0 from qualcomm, loaded the libraries into the docker, and run privileged while also adding devices /dev/dri and /dev/kgsl-3d0. I also added a vendor including the path to qualcomm's libOpenCL library. When I query platforms using the C++ api, the script just hangs. If I don't set the vendor, it fails with a -1001 error.
Inside the docker, I can build all the sdk examples just fine. I just can't access Adreno.
Thanks again for any help.
-
Voxl2 Docker (Ubuntu 22) with OpenCL/Adreno
Hello, we have a ROS2 humble autonomy stack that we we build in a CI pipeline and deploy to various platforms, including Voxl2.
The pipeline selects an appropriate base image for respective platforms (including nvida jetson, voxl, etc), each of which is a custom docker image based on ubuntu:jammy with unique layers for platform dependencies.
We would like to be able to utilize the Adreno GPU within our voxl2 target via OpenCL. I could use some assistance understanding how I might go about this for VOXL2. I am aware of this VOXL1 example: https://gitlab.com/voxl-public/voxl-docker-images/voxl-docker-opencl. Unfortunately, this example uses a prebuilt package for OpenCL to provide Adreno support.
Is there any documentation that could be shared regarding how this Adreno OpenCL library was built so that we can build an equivalent library in Ubuntu 22 that supports Adreno/VOXL2?
Any guidance would be greatly appreciated.
Thank you,
Eric -
RE: voxl-dfs-server: stereo pointcloud coordinate frame
I am seeing a very strong correlation between projected pointcloud and the front left image, but it's not perfect (bottom edge seems a bit off), so my guess is that the pointcloud coordinate frame is aligned with the left camera after slight rotation (for rectification):
If so, how to extract this rotation and correct the transform?
-
voxl-dfs-server: stereo pointcloud coordinate frame
Very quick question. I'm working on an application where I need to project the stereo_front_pc (from voxl-dfs-server) into the hires camera frame. This of course requires that I know the coordinate frame of the generated pointcloud. Since the underlying rectification process is closed source, I can't see any transformations involved in the rectification, just the resulting maps.
Is the coordinate frame associated with left camera, rectified left camera (in which case, how do I lookup R), or something else?
Tagging @James-Strawson and @thomas, since they are the authors of this package.
Thanks!
-
Are SELECT_TF_OPS supported on VOXL2?
I'm converting a custom keras model to tflite. Unfortunately, this model requires GatherND, which is not included in the built-in TF lite OPS.
If I add SELECT_TF_OPS to the supported ops list, then my custom TFlite model builds locally:
converter.target_spec.supported_ops = [ tf.lite.OpsSet.TFLITE_BUILTINS, tf.lite.OpsSet.SELECT_TF_OPS ]
Will this model (with the SELECT_TF_OPS flag) work with tflite server for VOXL2, or can I only use the built-in tflite ops?
-
RE: voxl MPA-TO_ROS2
@Zachary-Lowell-0 I am getting a 404 from gitlab saying I don't have permission to view it. This is the link I'm trying to access: https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-to-ros2.git
-
RE: voxl MPA-TO_ROS2
@Zachary-Lowell-0 Sweet! Thanks Zach. I currently have ROS2 humble installed on my VOXL 2 flightdeck. Excited to try this out!
Can you tag me when this repository is public?
-
RE: voxl MPA-TO_ROS2
Any possibility of opening this up to the public before the release?
https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-to-ros2.git
-
RE: voxl MPA-TO_ROS2
@jacob-yaacubov Not sure why you didn't get a response from the moderation team?
It does like it's coming in SDK 1.1: https://docs.modalai.com/ros2-installation-voxl2/#mpa-to-ros2
I would also appreciate a roadmap or timeline. I am about to port it to ROS2 myself, and would prefer to save the hassle if it's just around the corner.
-
RE: RB5 System Clock Issues
FWIW, we are not seeing this issue on the VOXL2 flightdeck (which does not use voxl-px4-imu-server)
@Moderator Is there someone else I should tag for this issue if you are unable to provide support?
-
RE: RB5 System Clock Issues
@Moderator, we've observed that when we kill voxl-px4-imu-server, the timing discrepancy disappears. We of course need this to be running to get IMU data, but this process at least seems to be related to the issue.
-
RE: RB5 System Clock Issues
@Moderator, has anyone been able to replicate this issue? Is this there a known solution to this?
-
RE: ROS IMU timing quality issues on RB5
@Moderator Unfortunately, there is not a way to configure ROS1 to use steady_clock instead of system_clock. In ROS2, it seems that this is configurable, but ModalAI does not support ROS2.