ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. Peter Milani
    3. Posts
    • Profile
    • Following 0
    • Followers 0
    • Topics 6
    • Posts 12
    • Best 0
    • Controversial 0
    • Groups 0

    Posts made by Peter Milani

    • RE: Voxl2 Docker (Ubuntu 22) with OpenCL/Adreno

      @Alex-Kushleyev I was able to get the following when running opencl within the docker instance:

       clinfo
      Number of platforms                               1
        Platform Name                                   Portable Computing Language
        Platform Vendor                                 The pocl project
        Platform Version                                OpenCL 1.2 pocl 1.4, None+Asserts, LLVM 9.0.1, RELOC, SLEEF, POCL_DEBUG
        Platform Profile                                FULL_PROFILE
        Platform Extensions                             cl_khr_icd
        Platform Extensions function suffix             POCL
      
        Platform Name                                   Portable Computing Language
      Number of devices                                 1
        Device Name                                     pthread-0x805
        Device Vendor                                   Qualcomm
        Device Vendor ID                                0x13b5
        Device Version                                  OpenCL 1.2 pocl HSTR: pthread-aarch64-unknown-linux-gnu-GENERIC
        Driver Version                                  1.4
        Device OpenCL C Version                         OpenCL C 1.2 pocl
        Device Type                                     CPU
        Device Profile                                  FULL_PROFILE
        Device Available                                Yes
        Compiler Available                              Yes
        Linker Available                                Yes
        Max compute units                               8
        Max clock frequency                             1804MHz
        Device Partition                                (core)
          Max number of sub-devices                     8
          Supported partition types                     equally, by counts
          Supported affinity domains                    (n/a)
        Max work item dimensions                        3
        Max work item sizes                             4096x4096x4096
        Max work group size                             4096
        Preferred work group size multiple              8
        Preferred / native vector sizes                 
          char                                                16 / 16      
          short                                                8 / 8       
          int                                                  4 / 4       
          long                                                 2 / 2       
          half                                                 0 / 0        (n/a)
          float                                                4 / 4       
          double                                               2 / 2        (cl_khr_fp64)
        Half-precision Floating-point support           (n/a)
        Single-precision Floating-point support         (core)
          Denormals                                     No
          Infinity and NANs                             Yes
          Round to nearest                              Yes
          Round to zero                                 No
          Round to infinity                             No
          IEEE754-2008 fused multiply-add               No
          Support is emulated in software               No
          Correctly-rounded divide and sqrt operations  No
        Double-precision Floating-point support         (cl_khr_fp64)
          Denormals                                     Yes
          Infinity and NANs                             Yes
          Round to nearest                              Yes
          Round to zero                                 Yes
          Round to infinity                             Yes
          IEEE754-2008 fused multiply-add               Yes
          Support is emulated in software               No
        Address bits                                    64, Little-Endian
        Global memory size                              5896568832 (5.492GiB)
        Error Correction support                        No
        Max memory allocation                           2147483648 (2GiB)
        Unified memory for Host and Device              Yes
        Minimum alignment for any data type             128 bytes
        Alignment of base address                       1024 bits (128 bytes)
        Global Memory cache type                        None
        Image support                                   Yes
          Max number of samplers per kernel             16
          Max size for 1D images from buffer            134217728 pixels
          Max 1D or 2D image array size                 2048 images
          Max 2D image size                             8192x8192 pixels
          Max 3D image size                             2048x2048x2048 pixels
          Max number of read image args                 128
          Max number of write image args                128
        Local memory type                               Global
        Local memory size                               33554432 (32MiB)
        Max number of constant args                     8
        Max constant buffer size                        33554432 (32MiB)
        Max size of kernel argument                     1024
        Queue properties                                
          Out-of-order execution                        Yes
          Profiling                                     Yes
        Prefer user sync for interop                    Yes
        Profiling timer resolution                      1ns
        Execution capabilities                          
          Run OpenCL kernels                            Yes
          Run native kernels                            Yes
        printf() buffer size                            16777216 (16MiB)
        Built-in kernels                                (n/a)
        Device Extensions                               cl_khr_byte_addressable_store cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_3d_image_writes cl_khr_fp64
      
      NULL platform behavior
        clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  Portable Computing Language
        clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   Success [POCL]
        clCreateContext(NULL, ...) [default]            Success [POCL]
        clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  Success (1)
          Platform Name                                 Portable Computing Language
          Device Name                                   pthread-0x805
        clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  Success (1)
          Platform Name                                 Portable Computing Language
          Device Name                                   pthread-0x805
        clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform
        clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
        clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
        clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  Success (1)
          Platform Name                                 Portable Computing Language
          Device Name                                   pthread-0x805
      
      ICD loader properties
        ICD loader Name                                 OpenCL ICD Loader
        ICD loader Vendor                               OCL Icd free software
        ICD loader Version                              2.2.11
        ICD loader Profile                              OpenCL 2.1
      
      

      but after installing:

      apt install -y -qq pocl-opencl-icd;
      
      posted in Ask your questions right here!
      Peter MilaniP
      Peter Milani
    • RE: Voxl2 Docker (Ubuntu 22) with OpenCL/Adreno

      @Alex-Kushleyev @eric I've implemented your solution and get the same result.

      I did get a bit confused as running clinfo only returned a single device of type CPU and without the name "Adreno".

      However I added to your test script a query on the device_type and it returned GPU so I guess its only finding the GPU. I would have expected it to return a few more devices as the [Qualcomm OpenCL guide] (https://docs.qualcomm.com/bundle/publicresource/80-NB295-11_REV_C_Qualcomm_Snapdragon_Mobile_Platform_Opencl_General_Programming_and_Optimization.pdf) suggests that the dsp and CPU could have been returned as well, so I'm not sure what is happening there. I didn't have to link devices only shared the volumes to the relevant libraries. I would have expected the CPU to be returned a a matter of course as that is what happens with the intel implementation.

      My additional lines to the script (given for info is):

        cl_device_type device_type;
        clGetDeviceInfo(devices[j], CL_DEVICE_TYPE, sizeof(cl_device_type), &device_type, NULL);
        printf("Device type: ");
        if (device_type & CL_DEVICE_TYPE_CPU)
            printf("CPU ");
        if (device_type & CL_DEVICE_TYPE_GPU)
            printf("GPU ");
        if (device_type & CL_DEVICE_TYPE_ACCELERATOR)
            printf("ACCELERATOR ");
        if (device_type & CL_DEVICE_TYPE_DEFAULT)
            printf("DEFAULT ");
        printf("\n");
      
      

      Which returns

      OpenCL platform count: 1
      OpenCL device count: 1
      1. Device: QUALCOMM Adreno(TM)
       1.1 Hardware version: OpenCL 2.0 Adreno(TM) 650
      Device type: GPU 
       1.2 Software version: OpenCL 2.0 QUALCOMM build: commit # changeid # Date: 11/10/21 Wed Local Branch:  Remote Branch:  Compiler E031.37.12.01
       1.3 OpenCL C version: OpenCL C 2.0 Adreno(TM) 650
       1.4 Parallel compute units: 3
      
      
      posted in Ask your questions right here!
      Peter MilaniP
      Peter Milani
    • RE: Yocto build instructions

      @Moderator Hi I'm just trying to find a good way to deploy to multiple devices via a "golden image" type setup. Is there a way to do that. Should I just follow the rules for the custom kernel instructions and add a custom bitbake layer onto that?

      posted in Software Development
      Peter MilaniP
      Peter Milani
    • Yocto build instructions

      Hi
      I have the Qualcomm HLOS and non HLOS meta repositories, is there some information regarding yocto build instructions? a meta-modalai-voxl2-bsp by any chance? I don't really need too much of the modalai stuff if it is closed source, just the bsp so that the board will run with all its interfaces.
      cheers
      Peter

      posted in Software Development
      Peter MilaniP
      Peter Milani
    • Exposing /dev/ttyHS1 -> HS3 + USB2

      Hi
      I've spun up an expansion board to expose the linux uarts on the legacy and high speed headers for the Voxl2 as well as give a usb2 interface.
      Would you be willing to review it? I'd buy a board that exposed these ports if it existed, but I haven't found a board that exposes USB2 (or USB3) as well as the three linux UARTs.
      cheers
      Peter

      posted in PCB Design Reviews
      Peter MilaniP
      Peter Milani
    • Mating connector for M0173

      Hi ModalAI

      what is the recommended mating connector for the M0173 micocoax connector? I assume both J6 and J7 need to be connected for full functionality.
      cheers
      Peter

      posted in Image Sensors
      Peter MilaniP
      Peter Milani
    • NDAA Compliance for Cameras

      Hi ModalAI,

      There have been a couple of posts regarding NDAA compliance in this forum, all of which have been unanswered. Hopefully here that wont be the case with this quesiton.

      I am after confirmation that there are NDAA compliant camera options for voxl(2) sensing. As far as I can tell there are but there are a number of non-compliant cameras available too.

      I assume that any Omnivision camera is non-compliant as it is Chinese Owned. ie all OV partnumbers.

      On-semi part numbers (AR) are compliant.
      Sony part numbers IMX are compliant.

      Is that roughly correct?
      cheers
      Peter

      posted in Ask your questions right here!
      Peter MilaniP
      Peter Milani
    • RE: Update on operating system upgrades to 20.04, 22.04 and 24.04

      I found commit ddc52dec132c777dd950c7f519bdd19f1e51d2cd in your https://gitlab.com/voxl-public/system-image-build/meta-voxl2/-/tree/ubun2.0-dev/recipes-append/recipes-core/ubuntu-base?ref_type=heads
      that has a bitbake append for ubuntu 20.04, seems that its in active development, do you have any guides to image build?

      I don't need the closed source stuff at moment.

      posted in VOXL 2
      Peter MilaniP
      Peter Milani
    • Update on operating system upgrades to 20.04, 22.04 and 24.04

      Hi
      this was asked earlier in the year, any movement on enabling 20.04 or 22.04 on the rb5165 based platforms. I know other vendors have 20.04 HLOS and non-HLOS images from Qualcomm, any possibility of using those with modalAI bsp and other meta to get a 20.04 operating system on voxl2?
      cheers
      Peter

      posted in VOXL 2
      Peter MilaniP
      Peter Milani
    • RE: Download speeds for sdk slow

      @tom yes that link worked fine, thanks

      posted in VOXL SDK
      Peter MilaniP
      Peter Milani
    • RE: Download speeds for sdk slow

      FYI downloading v1.3.3 is fine, downloads at 7MBps. the v1.3.5 is slow

      posted in VOXL SDK
      Peter MilaniP
      Peter Milani
    • Download speeds for sdk slow

      Any reason why the download speeds for the SDK should be slow. My internet speed test is showing >50MBps but the SDK when I go to download rarely meets 20Kbps. As it is a large file I though I'd ask here just in case theres a faster link or identify something wrong, if you weren't aware.

      downloading from here:
      https://developer.modalai.com/asset/eula-download/168

      cheers
      Peter

      posted in VOXL SDK
      Peter MilaniP
      Peter Milani