mirror of
https://github.com/amd/blis.git
synced 2026-05-12 01:59:59 +00:00
The environment variable AOCL_VERBOSE was inconsistent in its behaviour, sometimes producing a single line of output per file from multiple BLAS calls, when it should be all or nothing. Note that: - AOCL_VERBOSE is only active when DTL logging has been enabled at compile time. Otherwise, this environment variable is not read. - When logging is enable at compile time, logging output is produced by default. Thus AOCL_VERBOSE is more of use to turn output off, rather than on. - For production runs without logging, it is recommended to recompile with DTL disabled, as this minimizes overheads within the BLIS code. - AOCL_VERBOSE should be set to 0 or 1, and not values such as FALSE or TRUE. Changes to improve consistency when AOCL_VERBOSE is set: - Change DTL variables from Bool (unsigned char) datatype to bool, as used elsewhere in BLIS. - Ensure bli_init_auto() is called before AOCL_DTL_TRACE_ENTRY() and AOCL_DTL_LOG_*_INPUTS(), as bli_init_auto calls AOCL_DTL_INITIALIZE() - In APIs which avoid calling bli_init_auto(), add explicit calls to AOCL_DTL_INITIALIZE(). Also, make a proper comment about not calling bli_init_auto(), rather than just commenting out call, which looks like dead code. Other DTL logging control changes: - Make gbIsLoggingEnabled ICV thread local as this can be updated by calls to AOCL_DTL_Enable_Logs and AOCL_DTL_Disable_Logs APIs - After recent changes to hide some internal BLIS definitions behind ifdef BLIS_IS_BUILDING_LIBRARY guard, change BLIS_THREAD_LOCAL definition to be exported again. Logging output changes: - Standardize printing of datatype to be lower case. - Don't force printing of GEMM transa and transb to upper case, instead print in the case provided by the application code. - Add logging output to all variants (in terms of AMD/non-AMD optimized and datatype) of SWAP and SCAL. AMD-Internal: [CPUPL-7010]