Debug / Release Builds

Hi

I’m trying to understand what is the correct way to perform release or debug builds please? I have looked through the Component and Rcc Development Guides but I cannot find exactly what I am after.

In the ocpidev-build documentation (either through ocpidev build --help or ocpidev-build) it references an --optimize flag, which appears to be used tools/include/rcc/rcc-worker.mk to set RccOptimized and then RccCompileOptions when building the rcc worker.

However, when I run ocpidev build --optimized from my worker directory, I get the following error message:

$ocpidev build --optimize
usage: ocpidev [–help] [–version] [–log-level <log_level>] [-v] [-d ] [-f] [–no-doc] [–doc-only]
{build,clean,create,delete,refresh,register,run,set,show,unregister,unset,utilization} …
ocpidev: error: unrecognized arguments: --optimize

I’m not sure if this is a bug or if I am using the command incorrectly?

Thanks

Hey,

I’ve not used the optimized stuff before, but after a quick search there’s some info in here:

Ctrl-F for optimized. I think you need to build the framework with --optimized first:

./scripts/install-opencpi.sh <platform> --optimized  # I think

The most recent RCC platform to be tested for optimized builds is xilinx24_1_aarchXX.

You first need to implement the following workaround as described here: Optimized builds cause errors with GCC 12+ (#3755) · Issues · OpenCPI / OpenCPI · GitLab

The --optimize flag is used for the installer script as @waltersdom described or can be used with ocpiadmin command line utility.

I use ocpiadmin, so after applying the changes build the platform using ocpiadmin.

ocpiadmin install platform xilixn24_1_aarch32-o

The -o informs OpenCPI to build the optimized version of the RCC platform.

Once the platform build is complete workers can be built with the optimized version by adding the -o to the end of the RCC platform, for example in the case of xilixn24_1_aarch32 it would be xilinx24_1_aarch32-o . Below is an example of optimize build for a worker.

ocpidev build --rcc-platform xilinx24_1_aarch32-o

This is currently described on the bottom of page 24 of the OpenCPI AXI Transport Performance Tuning guide: https://opencpi.gitlab.io/releases/develop/docs/OpenCPI_AXI_Transport_Performance_Tuning_Guide.pdf