This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler/TMS320C6747: Code composer 3.3.83

Part Number: TMS320C6747
Other Parts Discussed in Thread: SYSBIOS,

Tool/software: TI C/C++ Compiler

Hi,

we use the following system from TI

DSP C674x

Code composer 3.3.83

c.g. tools 7.4.19

Bios 5.41.03.17

Without sysbios

and would like to compile the following directory to use on our specific DSP device

https://processors.wiki.ti.com/index.php/Processor_SDK_Linear_Algebra_Library#Supported_Devices_and_SDKs  

do you have a compiled version of this directory for this DSP?

if not, can we receive TI assistance to compile it?

we are under very tight schedule for production and will appreciate any assistance wit this

Thank you,

Yuval

  • Yuval

    This library/code was done for c66x/ multicore. This is not available /tested/supported on c674x 

    We will see how we can evaluate , even though one of the key experts on this is out of office for the next month. 

    Can you give a little more details on what specific functions / attributes you are trying to use for your project. 

    Regards

    Mukul 

  • Hi,

    In the https://processors.wiki.ti.com/index.php/Processor_SDK_Linear_Algebra_Library#Supported_Devices_and_SDKs  , it mentioned:

    The TI Linear Algebra library (LINALG) is an optimized library for performing dense linear algebra computations. It includes BLAS which is based on BLIS 0.1.6 (https://github.com/flame/blis) and LAPACK which is based on CLAPACK 3.2.1 (http://www.netlib.org/clapack/).

    BLAS can be configured to run on either ARM or DSP (offloading). LAPACK can only run on ARM (BLAS functions invoked by LAPACK may run on DSP according to configuration and problem size). 

    For your TMS320C6747, it is a DSP device without ARM core, so you only need BLAS, correct (we have some device with C674x+ and ARM, so just to confirm with you)?

    Regards, Eric

  • Hi,

    Also, I saw there are 3 memory model available:

    Memory Models

    Memory ModelL1D SRAML2 SRAML3/MSMC SRAMDevices
    Large 28KB 768KB 4.5MB K2H
    Medium 28KB 256KB 2.5MB C6678
    Small 28KB 128KB 1MB AM572x

    Rebuilding LINALG[edit]

    • Go to <LINALG installation root folder>/packages/ti/linalg
    • Type "make <make_target> MEM_MODEL=<memory_model_name> TARGET=<device_name> LIBOS=<os_name>", where
      • <make_target> must be one of ARMplusDSP or DSPlibs,
      • <memory_model_name> must be one of Large, Medium, or Small.

    For C6747 https://www.ti.com/lit/ug/spruh91d/spruh91d.pdf, do you use any external memory for L3?   

    Shared RAM This device also offers an on-chip 128-kB shared RAM, apart from the DSP level 1 and level 2 internal memories. This shared RAM is accessible by the DSP and also is accessible by several master peripherals. The 128-kB shared RAM is not supported on the C6745 DSP.

    External Memories

    This device has two external memory interfaces that provide multiple external memory options accessible by the CPU and master peripherals: • EMIFA: – 8/16-bit wide (package dependent) asynchronous EMIF module that supports asynchronous devices such as ASRAM, NAND Flash, and NOR Flash (up to 4 devices) – 8/16-bit wide (package dependent) NAND Flash with 4-bit ECC (up to 4 devices) – 16-bit SDRAM with 128-MB address space (package dependent) • EMIFB: 32/16-bit SDRAM (package dependent) with up to 256-MB SDRAM address space

    I guess "no" or you have some NOR/NAND flash for boot? please confirm that. I need to dig into if L3 memory is needed for the package, but let me understand what off the chip memory you have on your product.

    Regards, Eric

  • Hi,

    We have an external memory (DDR2) and flash for boot.

    Yossi

  • Eric

    I believe they are using c6748 (not C6747). 

    Looks like Yossi confirmed that they are using external memory. 

    Yossi

    Can you please confirm that you are looking for BLAS only?

    Regards

    Mukul 

  • Hi,

    We will need in the future to use more function from this lib.

    I do not know what the functions that we will need.

    Yossi

  • Yossi,

    We are evaluating the efforts to port LINALG for C66x to C674x+. Meanwhile what is the timeline you look for this as you mentioned you will need in the future? And for the functions, will those in DSPLIB work for you, dsplib_c674x_3_4_0_x\packages\ti\dsplib\src?

    Regards, Eric 

  • Hi,

    Thanks for your effort to help us.

    We will need 2 functions:

    1. CBLAS

    2. CLAPACK

    Only for single precision (without complex ).

    The timeline to use it start of September.

    Yossi

  • Yossi,

    Thanks for the information! The CBLAS is not a function, but it is a collection of hundreds of functions. The package is optimized for C66x code with intrinsics. Also the package bases on the framework of IPC, OPENMP and EDMA packages to utilize the multi-core architecture of the C66x. So it can split big matrix into blocks with each core to process a block then combined together. I am not sure if this a good choice for the C674x device as there is one CPU only.

    Can you look at the DSPLIB for C674x+ if the functions may be used? The user guide and benchmark report are under dsplib_c674x_3_4_0_4\docs.

    The rich set of software routines included in DSPLIB are organized into seven functional categories:

    • Adaptive filtering
    • Correlation
    • Fast Fourier Transform
    • Filtering and convolution
    • Math
    • Matrix
    • Miscellaneous

    Regards, Eric

  • Yossi,

    These libraries are not supported on c674x and it is unlikely we will add support for these for single customer (this is the only time I have seen the request for these functions for this class of device). 

    Please specify the functions you needed and I will see how to make it work.

    Regards, Eric