- 
                Notifications
    
You must be signed in to change notification settings  - Fork 83
 
Developer Tools: OpenVX
        Kiriti Gowda edited this page Aug 20, 2025 
        ·
        10 revisions
      
    AMD OpenVX implementation is enabled with useful tools for developers to debug their OpenVX applications. The implementation supports several debug options Turned ON by different ENVIRONMENT VARIABLES. Below is a list of available features.
- 
AGO_DEFAULT_TARGET - set default target to be CPU or GPU 
AGO_DEFAULT_TARGET=CPU/GPU - 
AGO_DUMP_GPU - dump OpenCL kernel if environment variable 
AGO_DUMP_GPUis specified with dump file path prefix [output file name will be$(AGO_DUMP_GPU)-<group>.cl] - 
AGO_DUMP_GRAPH - user request for graph dump 
AGO_DUMP_GRAPH=1 - 
AGO_OPENCL_BUILD_OPTIONS - override build options with environment variable [
-cl-std=CL1.2:-cl-std=CL2.0] - AGO_OPENCL_DEVICE_INFO - override affinity device info
 - AGO_OPENCL_PLATFORM - opencl platform override variable
 - 
AGO_OPENCL_VERSION_CHECK - check for OpenCL version, force OpenCL 1.2 if environment variable 
AGO_OPENCL_VERSION_CHECK=1.2 - AGO_THREAD_CONFIG - initialize thread config through environmental variable
 - ENABLE_DEBUG_DUMP_CL_BUFFERS - Set variable to 1 to dump OpenCL buffers
 - ENABLE_DEBUG_MESSAGES - 0:disable 1:enable [default:0]
 - ENABLE_LOCAL_DEBUG_MESSAGES - Set variable to 1 to get detailed debug information on OpenCL workflow
 - SHOW_DEBUG_HIERARCHICAL_LEVELS - Debug hierarchical node levels in the openvx graph 0:disable 1:enable [default:0]
 - 
VX_GRAPH_ATTRIBUTE_AMD_OPTIMIZER_FLAGS - Graph optimizer flags to turn on or off optimizations
AGO_GRAPH_OPTIMIZER_FLAG_NO_DIVIDE 0x00000001 // don't run drama divide AGO_GRAPH_OPTIMIZER_FLAG_NO_REMOVE_COPY_NODES 0x00000002 // don't remove unnecessary copy operations AGO_GRAPH_OPTIMIZER_FLAG_NO_REMOVE_UNUSED_OUTPUTS 0x00000004 // don't remove nodes with unused outputs AGO_GRAPH_OPTIMIZER_FLAG_NO_NODE_MERGE 0x00000008 // don't perform node merge AGO_GRAPH_OPTIMIZER_FLAG_NO_CONVERT_8BIT_TO_1BIT 0x00000010 // don't convert 8-bit images to 1-bit images AGO_GRAPH_OPTIMIZER_FLAG_NO_SUPERNODE_MERGE 0x00000020 // don't merge supernodes AGO_GRAPH_OPTIMIZER_FLAGS_DEFAULT 0x00000000 // default options - AGO_BUFFER_MERGE_FLAGS - list of virtual data (D) that need GPU buffers and mark if CPU access is not needed for virtual buffers
 
export MIOPEN_ENABLE_LOGGING=1
export MIOPEN_ENABLE_LOGGING_CMD=1
export MIOPEN_LOG_LEVEL=6
Use export AMD_LOG_LEVEL=7 to dump HIP program flow
- 
NOTE: Check compiler options - 
gcc -v --help 2> /dev/null | sed -n '/^ *-std=\([^<][^ ]\+\).*/ {s//\1/p}' 
ffmpeg -i data/videos/AMD_driving_virtual_20.mp4 -c:v libx265 -vtag hvc1 data/videos/AMD_driving_virtual_20-H265.mp4 
Copyright (c) 2015 - 2023 Advanced Micro Devices, Inc. All rights reserved.