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.

TMS320C6657: QMSS based HW Queues have been disabled in OpenMP for Keystone I and II devices

Part Number: TMS320C6657

Dear TI Support Team,

I realize that the usage of QMSS based HW queues has been disabled for Keystone I and II devices in file <openmp>ti/runtime/openmp/src/tomp_defs.h of latest OpenMP library (e.g. 2.06.00.00). Please would you explain the reason for that change?

Thanks and kind regards

Sven

  • Hi Sven,

    I've notified the sw team. Their feedback will be posted here.

    Best Regards,
    Yordan
  • Hi Sven,

    We implemented a software based queue that had similar performance to the QMSS hardware queues.  This was required to port the OpenMP runtime to the AM572x family of devices which do not have QMSS.  To simplify code maintenance and to remove the dependency on qmss, we decided to phase out the usage of the QMSS hardware queues (and free up the qmss resources) in favor of the software queues.  We left the QMSS implementation in the software for now, but at some later date we may clean things up and remove the QMSS implementation.

    Best Regards,

    Eric Stotzer

  • Hi Eric,

    thanks for your explanation.

    I am not using QMSS in my project, is it save to remove some QMSS specific OpenMP settings from my config file, e.g. 

    // QMSS initialized by application outside of OpenMP runtime
    ompSettings.runtimeInitializesQmss = false;
    
    // Set up OpenMP QMSS variables based on application usage of QMSS
    OpenMP.qmssMemRegionIndex = -1;
    OpenMP.qmssFirstDescIdxInLinkingRam = 0;
    
    /***
    * Call the application supplied QMSS init function 
    * BEFORE __TI_omp_initialize_rtsc_mode()
    */
    Startup.lastFxns.$add('&app_qmss_init');

    Thanks and kind regards

    Sven

  • Hi Sven,

    Yes. It is safe to remove the QMSS specific OpenMP settings from your config file.

    Best Regards, Eric