Repository navigation
(fix) (rocDecode) (ROCM-27712) (ASAN test fix) - Add gpu arch to all samples - #8287
Conversation
❌ PR Check — Action Required
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🚫 Please fix the failed policies before requesting reviews. The following policy checks failed:
The |
There was a problem hiding this comment.
Pull request overview
This PR updates rocDecode sample CMake projects to always populate GPU_TARGETS, addressing ASAN failures seen when GPU arch targets aren’t provided by the HIP side even for arch-agnostic sample code.
Changes:
- Add a shared
GPU_TARGETSinitialization block to each sample CMakeLists to ensure a default target list is set when none is provided. - Prefer
GPU_TARGETS, while supporting deprecatedAMDGPU_TARGETSand environment override viaGPU_ARCHS. - Attempt to filter “optional” newer targets via
ROCMCheckTargetIdswhen available.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| projects/rocdecode/samples/videoToSequence/CMakeLists.txt | Adds default GPU target selection and reporting for the sample build. |
| projects/rocdecode/samples/videoDecodeRaw/CMakeLists.txt | Adds default GPU target selection and reporting for the sample build. |
| projects/rocdecode/samples/videoDecodePicFiles/CMakeLists.txt | Adds default GPU target selection and reporting for the sample build. |
| projects/rocdecode/samples/videoDecodePerf/CMakeLists.txt | Adds default GPU target selection and reporting for the sample build. |
| projects/rocdecode/samples/videoDecodeMultiFiles/CMakeLists.txt | Adds default GPU target selection and reporting for the sample build. |
| projects/rocdecode/samples/videoDecodeMem/CMakeLists.txt | Adds default GPU target selection and reporting for the sample build. |
| projects/rocdecode/samples/videoDecodeBatch/CMakeLists.txt | Adds default GPU target selection and reporting for the sample build. |
| projects/rocdecode/samples/videoDecode/CMakeLists.txt | Adds default GPU target selection and reporting for the sample build. |
| projects/rocdecode/samples/rocdecDecode/CMakeLists.txt | Adds default GPU target selection and reporting for the sample build. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
to all samples (#8287)
## Motivation
The JIRA ticket shows GPU arch is needed from HIP side even if the
sample does not have arch specific code. Implementing this PR to avoid
ASAN failures when gpu arch is not mentioned.
## Technical Details
Add supported `GPU_TARGETS` for all samples
## JIRA ID
ROCM-27712
## Test Plan
ctests must pass
## Test Result
Test results on Navi31 system:
```
~/work/rocm-systems/projects/rocdecode/build$ ctest -VV
UpdateCTestConfiguration from :/home/lakshmi/work/rocm-systems/projects/rocdecode/build/DartConfiguration.tcl
Parse Config file:/home/lakshmi/work/rocm-systems/projects/rocdecode/build/DartConfiguration.tcl
UpdateCTestConfiguration from :/home/lakshmi/work/rocm-systems/projects/rocdecode/build/DartConfiguration.tcl
Parse Config file:/home/lakshmi/work/rocm-systems/projects/rocdecode/build/DartConfiguration.tcl
Test project /home/lakshmi/work/rocm-systems/projects/rocdecode/build
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1
Start 1: video_decodeRaw-HEVC
1: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/videoDecodeRaw" "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-HEVC" "--build-generator" "Unix Makefiles" "--test-command" "videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-H265.265"
1: Working Directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test
1: Environment variables:
1: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2
1: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib
1: Test timeout computed to be: 1500
1: Internal cmake changing into directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-HEVC
1: ======== CMake output ======
1: The C compiler identification is Clang 23.0.0
1: The CXX compiler identification is Clang 23.0.0
1: Detecting C compiler ABI info
1: Detecting C compiler ABI info - done
1: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped
1: Detecting C compile features
1: Detecting C compile features - done
1: Detecting CXX compiler ABI info
1: Detecting CXX compiler ABI info - done
1: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped
1: Detecting CXX compile features
1: Detecting CXX compile features - done
1: -- videodecoderaw -- AMD GPU_TARGETS: gfx908;gfx90a;gfx942;gfx1030;gfx1031;gfx1032;gfx1100;gfx1101;gfx1102;gfx950;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201;gfx1250
1: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc
1: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS
1: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success
1: Configuring done
1: Generating done
1: Build files have been written to: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-HEVC
1: ======== End CMake output ======
1: Change Dir: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-HEVC
1:
1: Run Clean Command:/usr/bin/gmake -f Makefile clean
1:
1: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/videodecoderaw.dir/videodecoderaw.cpp.o
1: [ 66%] Building CXX object CMakeFiles/videodecoderaw.dir/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/utils/rocvideodecode/roc_video_dec.cpp.o
1: [100%] Linking CXX executable videodecoderaw
1: [100%] Built target videodecoderaw
1:
1: Running test command: "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-HEVC/videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-H265.265"
1: info: Input file: AMD_driving_virtual_20-H265.265
1: info: Using built-in bitstream reader
1: info: Using GPU device 0 - AMD Radeon RX 7900 XT[gfx1100] on PCI bus 03:00.0
1: info: decoding started, please wait!
1: Input Video Information
1: Codec : H.265/HEVC
1: Frame rate : 30000/1001 = 29.97 fps
1: Sequence : Progressive
1: Coded size : [2048, 1024]
1: Display area : [0, 0, 2048, 1024]
1: Chroma : YUV 420
1: Bit depth : 8
1: Video Decoding Params:
1: Num Surfaces : 7
1: Crop : [0, 0, 2048, 1024]
1: Resize : 2048x1024
1:
1: info: Total pictures decoded: 601
1: info: Total frames output/displayed: 601
1: info: avg decoding time per picture: 1.00809 ms
1: info: avg decode FPS: 991.976
1: info: avg output/display time per frame: 1.00809 ms
1: info: avg output/display FPS: 991.976
1:
1/6 Test #1: video_decodeRaw-HEVC ............. Passed 3.89 sec
test 2
Start 2: video_decodeRaw-AVC
2: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/videoDecodeRaw" "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AVC" "--build-generator" "Unix Makefiles" "--test-command" "videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-H264.264"
2: Working Directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test
2: Environment variables:
2: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2
2: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib
2: Test timeout computed to be: 1500
2: Internal cmake changing into directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AVC
2: ======== CMake output ======
2: The C compiler identification is Clang 23.0.0
2: The CXX compiler identification is Clang 23.0.0
2: Detecting C compiler ABI info
2: Detecting C compiler ABI info - done
2: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped
2: Detecting C compile features
2: Detecting C compile features - done
2: Detecting CXX compiler ABI info
2: Detecting CXX compiler ABI info - done
2: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped
2: Detecting CXX compile features
2: Detecting CXX compile features - done
2: -- videodecoderaw -- AMD GPU_TARGETS: gfx908;gfx90a;gfx942;gfx1030;gfx1031;gfx1032;gfx1100;gfx1101;gfx1102;gfx950;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201;gfx1250
2: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc
2: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS
2: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success
2: Configuring done
2: Generating done
2: Build files have been written to: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AVC
2: ======== End CMake output ======
2: Change Dir: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AVC
2:
2: Run Clean Command:/usr/bin/gmake -f Makefile clean
2:
2: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/videodecoderaw.dir/videodecoderaw.cpp.o
2: [ 66%] Building CXX object CMakeFiles/videodecoderaw.dir/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/utils/rocvideodecode/roc_video_dec.cpp.o
2: [100%] Linking CXX executable videodecoderaw
2: [100%] Built target videodecoderaw
2:
2: Running test command: "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AVC/videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-H264.264"
2: info: Input file: AMD_driving_virtual_20-H264.264
2: info: Using built-in bitstream reader
2: info: Using GPU device 0 - AMD Radeon RX 7900 XT[gfx1100] on PCI bus 03:00.0
2: info: decoding started, please wait!
2: Input Video Information
2: Codec : AVC/H.264
2: Frame rate : 60000/2002 = 29.97 fps
2: Sequence : Progressive
2: Coded size : [2048, 1024]
2: Display area : [0, 0, 2048, 1024]
2: Chroma : YUV 420
2: Bit depth : 8
2: Video Decoding Params:
2: Num Surfaces : 7
2: Crop : [0, 0, 2048, 1024]
2: Resize : 2048x1024
2:
2: info: Total pictures decoded: 601
2: info: Total frames output/displayed: 601
2: info: avg decoding time per picture: 0.87877 ms
2: info: avg decode FPS: 1137.95
2: info: avg output/display time per frame: 0.87877 ms
2: info: avg output/display FPS: 1137.95
2:
2/6 Test #2: video_decodeRaw-AVC .............. Passed 3.81 sec
test 3
Start 3: video_decodeRaw-AV1
3: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/videoDecodeRaw" "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AV1" "--build-generator" "Unix Makefiles" "--test-command" "videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-AV1.ivf"
3: Working Directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test
3: Environment variables:
3: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2
3: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib
3: Test timeout computed to be: 1500
3: Internal cmake changing into directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AV1
3: ======== CMake output ======
3: The C compiler identification is Clang 23.0.0
3: The CXX compiler identification is Clang 23.0.0
3: Detecting C compiler ABI info
3: Detecting C compiler ABI info - done
3: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped
3: Detecting C compile features
3: Detecting C compile features - done
3: Detecting CXX compiler ABI info
3: Detecting CXX compiler ABI info - done
3: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped
3: Detecting CXX compile features
3: Detecting CXX compile features - done
3: -- videodecoderaw -- AMD GPU_TARGETS: gfx908;gfx90a;gfx942;gfx1030;gfx1031;gfx1032;gfx1100;gfx1101;gfx1102;gfx950;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201;gfx1250
3: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc
3: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS
3: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success
3: Configuring done
3: Generating done
3: Build files have been written to: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AV1
3: ======== End CMake output ======
3: Change Dir: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AV1
3:
3: Run Clean Command:/usr/bin/gmake -f Makefile clean
3:
3: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/videodecoderaw.dir/videodecoderaw.cpp.o
3: [ 66%] Building CXX object CMakeFiles/videodecoderaw.dir/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/utils/rocvideodecode/roc_video_dec.cpp.o
3: [100%] Linking CXX executable videodecoderaw
3: [100%] Built target videodecoderaw
3:
3: Running test command: "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AV1/videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-AV1.ivf"
3: info: Input file: AMD_driving_virtual_20-AV1.ivf
3: info: Using built-in bitstream reader
3: info: Using GPU device 0 - AMD Radeon RX 7900 XT[gfx1100] on PCI bus 03:00.0
3: info: decoding started, please wait!
3: Input Video Information
3: Codec : AV1
3: Sequence : Progressive
3: Coded size : [2048, 1024]
3: Display area : [0, 0, 2048, 1024]
3: Chroma : YUV 420
3: Bit depth : 8
3: Video Decoding Params:
3: Num Surfaces : 12
3: Crop : [0, 0, 2048, 1024]
3: Resize : 2048x1024
3:
3: info: Total pictures decoded: 602
3: info: Total frames output/displayed: 601
3: info: avg decoding time per picture: 1.00368 ms
3: info: avg decode FPS: 996.33
3: info: avg output/display time per frame: 1.00535 ms
3: info: avg output/display FPS: 994.675
3:
3/6 Test #3: video_decodeRaw-AV1 .............. Passed 3.93 sec
test 4
Start 4: video_decodeRaw-VP9
4: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/videoDecodeRaw" "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-VP9" "--build-generator" "Unix Makefiles" "--test-command" "videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-VP9.ivf"
4: Working Directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test
4: Environment variables:
4: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2
4: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib
4: Test timeout computed to be: 1500
4: Internal cmake changing into directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-VP9
4: ======== CMake output ======
4: The C compiler identification is Clang 23.0.0
4: The CXX compiler identification is Clang 23.0.0
4: Detecting C compiler ABI info
4: Detecting C compiler ABI info - done
4: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped
4: Detecting C compile features
4: Detecting C compile features - done
4: Detecting CXX compiler ABI info
4: Detecting CXX compiler ABI info - done
4: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped
4: Detecting CXX compile features
4: Detecting CXX compile features - done
4: -- videodecoderaw -- AMD GPU_TARGETS: gfx908;gfx90a;gfx942;gfx1030;gfx1031;gfx1032;gfx1100;gfx1101;gfx1102;gfx950;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201;gfx1250
4: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc
4: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS
4: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success
4: Configuring done
4: Generating done
4: Build files have been written to: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-VP9
4: ======== End CMake output ======
4: Change Dir: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-VP9
4:
4: Run Clean Command:/usr/bin/gmake -f Makefile clean
4:
4: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/videodecoderaw.dir/videodecoderaw.cpp.o
4: [ 66%] Building CXX object CMakeFiles/videodecoderaw.dir/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/utils/rocvideodecode/roc_video_dec.cpp.o
4: [100%] Linking CXX executable videodecoderaw
4: [100%] Built target videodecoderaw
4:
4: Running test command: "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-VP9/videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-VP9.ivf"
4: info: Input file: AMD_driving_virtual_20-VP9.ivf
4: info: Using built-in bitstream reader
4: info: Using GPU device 0 - AMD Radeon RX 7900 XT[gfx1100] on PCI bus 03:00.0
4: info: decoding started, please wait!
4: Input Video Information
4: Codec : VP9
4: Sequence : Progressive
4: Coded size : [2048, 1024]
4: Display area : [0, 0, 2048, 1024]
4: Chroma : YUV 420
4: Bit depth : 8
4: Video Decoding Params:
4: Num Surfaces : 12
4: Crop : [0, 0, 2048, 1024]
4: Resize : 2048x1024
4:
4: info: Total pictures decoded: 601
4: info: Total frames output/displayed: 601
4: info: avg decoding time per picture: 1.08378 ms
4: info: avg decode FPS: 922.693
4: info: avg output/display time per frame: 1.08378 ms
4: info: avg output/display FPS: 922.693
4:
4/6 Test #4: video_decodeRaw-VP9 .............. Passed 3.96 sec
test 5
Start 5: rocdec_Decode-HEVC
5: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/rocdecDecode" "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecDecode" "--build-generator" "Unix Makefiles" "--test-command" "rocdecdecode" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/frames"
5: Working Directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test
5: Environment variables:
5: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2
5: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib
5: Test timeout computed to be: 1500
5: Internal cmake changing into directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecDecode
5: ======== CMake output ======
5: The C compiler identification is Clang 23.0.0
5: The CXX compiler identification is Clang 23.0.0
5: Detecting C compiler ABI info
5: Detecting C compiler ABI info - done
5: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped
5: Detecting C compile features
5: Detecting C compile features - done
5: Detecting CXX compiler ABI info
5: Detecting CXX compiler ABI info - done
5: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped
5: Detecting CXX compile features
5: Detecting CXX compile features - done
5: -- rocdecdecode -- AMD GPU_TARGETS: gfx908;gfx90a;gfx942;gfx1030;gfx1031;gfx1032;gfx1100;gfx1101;gfx1102;gfx950;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201;gfx1250
5: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc
5: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS
5: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success
5: Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
5: Checking for module 'libavcodec'
5: Found libavcodec, version 58.134.100
5: Checking for module 'libavformat'
5: Found libavformat, version 58.76.100
5: Checking for module 'libavutil'
5: Found libavutil, version 56.70.100
5: -- Using FFMPEG --
5: Libraries:/usr/lib/x86_64-linux-gnu/libavcodec.so;/usr/lib/x86_64-linux-gnu/libavformat.so;/usr/lib/x86_64-linux-gnu/libavutil.so
5: Includes:/usr/include/x86_64-linux-gnu
5: Configuring done
5: Generating done
5: Build files have been written to: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecDecode
5: ======== End CMake output ======
5: Change Dir: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecDecode
5:
5: Run Clean Command:/usr/bin/gmake -f Makefile clean
5:
5: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 50%] Building CXX object CMakeFiles/rocdecdecode.dir/rocdecdecode.cpp.o
5: [100%] Linking CXX executable rocdecdecode
5: [100%] Built target rocdecdecode
5:
5: Running test command: "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecDecode/rocdecdecode" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/frames"
5: Read 53 frames from disk.
5: Input Video Information
5: Codec : 4
5: Frame rate : 30000/1001 = 29.97 fps
5: Sequence : Progressive
5: Coded size : [2048, 1024]
5: Display area : [0, 0, 2048, 1024]
5: Bit depth : 8
5: Total decoded frames in iteration 0: 53
5: Decoding time: 59182 microseconds
5: Success.
5:
5:
5:
5/6 Test #5: rocdec_Decode-HEVC ............... Passed 2.36 sec
test 6
Start 6: rocDecode_Negative_API_Tests
6: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/test/rocDecodeNegativeApiTests" "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecodenegativetest" "--build-generator" "Unix Makefiles" "--test-command" "rocdecodenegativetest"
6: Working Directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test
6: Environment variables:
6: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2
6: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib
6: Test timeout computed to be: 1500
6: Internal cmake changing into directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecodenegativetest
6: ======== CMake output ======
6: The C compiler identification is Clang 23.0.0
6: The CXX compiler identification is Clang 23.0.0
6: Detecting C compiler ABI info
6: Detecting C compiler ABI info - done
6: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped
6: Detecting C compile features
6: Detecting C compile features - done
6: Detecting CXX compiler ABI info
6: Detecting CXX compiler ABI info - done
6: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped
6: Detecting CXX compile features
6: Detecting CXX compile features - done
6: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc
6: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS
6: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success
6: Configuring done
6: Generating done
6: Build files have been written to: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecodenegativetest
6: ======== End CMake output ======
6: Change Dir: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecodenegativetest
6:
6: Run Clean Command:/usr/bin/gmake -f Makefile clean
6:
6: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/rocdecodenegativetest.dir/rocdecodenegativetest.cpp.o
6: [ 66%] Building CXX object CMakeFiles/rocdecodenegativetest.dir/rocdecode_api_negative_tests.cpp.o
6: [100%] Linking CXX executable rocdecodenegativetest
6: [100%] Built target rocdecodenegativetest
6:
6: Running test command: "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecodenegativetest/rocdecodenegativetest"
6: info: Executing negative test cases for the rocDecCreateDecoder API
6: [0, Critical] rocdecode_api.cpp:37: 1986415068739 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecCreateDecoder(): Null pointer
6: [0, Critical] roc_decoder.cpp:51: 1986415068759 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): Invalid number of decode surfaces.
6: [0, Critical] vaapi_videodecoder.cpp:1028: 1986415101069 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitHIP(): ERROR: the requested device_id is not found!
6: [0, Critical] vaapi_videodecoder.cpp:686: 1986415101084 us: [pid:1764967 tid:1764967 hashid:0x88f33] GetVaContext(): Failed to initialize the HIP.
6: [0, Critical] vaapi_videodecoder.cpp:824: 1986415101091 us: [pid:1764967 tid:1764967 hashid:0x88f33] CheckDecCapForCodecType(): Failed to initialize.
6: [0, Critical] rocdecode_api.cpp:90: 1986415101096 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetDecoderCaps(): Error: Failed to obtain decoder capabilities from driver.
6: [0, Critical] vaapi_videodecoder.cpp:130: 1986415101100 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): The codec config combination is not supported.
6: [0, Critical] roc_decoder.cpp:61: 1986415101105 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): Failed to initialize the VAAPI Video decoder.
6: [0, Critical] vaapi_videodecoder.cpp:130: 1986415102752 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): The codec config combination is not supported.
6: [0, Critical] roc_decoder.cpp:61: 1986415102759 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): Failed to initialize the VAAPI Video decoder.
6: [0, Critical] vaapi_videodecoder.cpp:130: 1986415102766 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): The codec config combination is not supported.
6: [0, Critical] roc_decoder.cpp:61: 1986415102768 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): Failed to initialize the VAAPI Video decoder.
6: [0, Critical] vaapi_videodecoder.cpp:130: 1986415102779 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): The codec config combination is not supported.
6: [0, Critical] roc_decoder.cpp:61: 1986415102781 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): Failed to initialize the VAAPI Video decoder.
6: [0, Critical] vaapi_videodecoder.cpp:894: 1986415102788 us: [pid:1764967 tid:1764967 hashid:0x88f33] CheckDecCapForCodecType(): VAAPI failure: vaCreateConfig(va_contexts_[va_ctx_id].va_display, va_contexts_[va_ctx_id].va_profile, VAEntrypointVLD, &va_config_attrib, 1, &va_contexts_[va_ctx_id].va_config_id) failed with 'status: 13: the requested VAEntryPoint is not supported' at /home/lakshmi/work/rocm-systems/projects/rocdecode/src/rocdecode/vaapi/vaapi_videodecoder.cpp:894
6: [0, Critical] rocdecode_api.cpp:90: 1986415102795 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetDecoderCaps(): Error: Failed to obtain decoder capabilities from driver.
6: [0, Critical] vaapi_videodecoder.cpp:130: 1986415102798 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): The codec config combination is not supported.
6: [0, Critical] roc_decoder.cpp:61: 1986415102800 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): Failed to initialize the VAAPI Video decoder.
6: info: Executing negative test cases for the rocDecDestroyDecoder API
6: info: Executing negative test cases for the rocDecGetDecoderCaps API
6: info: Executing negative test cases for the rocDecDecodeFrame API
6: info: Executing negative test cases for the rocDecGetDecodeStatus API
6: info: Executing negative test cases for the rocDecReconfigureDecoder API
6: info: Executing negative test cases for the rocDecGetVideoFrame API
6: info: Executing negative test cases for the rocDecGetErrorName API
6: info: Executing negative test cases for the rocDecCreateVideoParser API
6: [0, Critical] roc_decoder.cpp:124: 1986415103702 us: [pid:1764967 tid:1764967 hashid:0x88f33] GetVideoFrame(): Invalid parameters.
6: [0, Critical] rocparser_api.cpp:44: 1986415103711 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecCreateVideoParser(): Error: The current version of rocDecode officially supports only the H.265 (HEVC), H.264 (AVC), AV1 and VP9 codecs.
6: info: Executing negative test cases for the rocDecParseVideoData API
6: info: Executing negative test cases for the rocDecDestroyVideoParser API
6: info: Executing negative test cases for the rocDecCreateBitstreamReader API
6: info: Executing negative test cases for the rocDecGetBitstreamCodecType API
6: info: Executing negative test cases for the rocDecGetBitstreamBitDepth API
6: [0, Critical] roc_bs_reader_api.cpp:31: 1986415104198 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecCreateBitstreamReader(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpp:31: 1986415104202 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecCreateBitstreamReader(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpp:52: 1986415104206 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetBitstreamCodecType(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpp:52: 1986415104210 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetBitstreamCodecType(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpp:74: 1986415104214 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetBitstreamBitDepth(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpp:74: 1986415104217 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetBitstreamBitDepth(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpp:96: 1986415104222 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetBitstreamPicData(): Null pointer
6: info: Executing negative test cases for the rocDecGetBitstreamPicData API
6: info: Executing negative test cases for the rocDecDestroyBitstreamReader API
6: Test Passed!
6: [0, Critical] roc_bs_reader_api.cpp:96: 1986415104225 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetBitstreamPicData(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpp:118: 1986415104229 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecDestroyBitstreamReader(): Null pointer
6:
6/6 Test #6: rocDecode_Negative_API_Tests ..... Passed 2.00 sec
100% tests passed, 0 tests failed out of 6
Total Test time (real) = 19.96 sec
```
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
[rocm-systems] ROCm/rocm-systems#8287 (commit 349155c)
## Changes in this PR - Fix the rocprofiler-systems flush-worker race by avoiding the `condition_variable_any` stop-token callback-lifetime path while retaining the existing 10 ms timed wait. - Extend the flush-worker regression test to exercise repeated and immediate stop requests. - No test is disabled and no TSAN suppression is added. This PR contains only `projects/rocprofiler-systems` changes. The hipFile Taskflow fix has moved to [#12320](#12320), following David's review suggestion. ## Failure evidence The flush-worker callback-lifetime race was reproduced in a local Clang TSAN run after the test binary's private runtime dependencies were supplied. There is no failed GitHub Actions job for this specific race; the [failed hipFile job](https://github.com/ROCm/rockrel/actions/runs/35256784803/job/105322888343) belongs to #12320, not this PR. ## Validation Earlier local validation passed the 1,452-test rocprofiler-systems inventory. That check predates this split branch and is not a new current-head CI result. The split preserves the exact two rocprofiler-systems file contents from the prior combined PR. The [current combined-stack run](https://github.com/ROCm/rockrel/actions/runs/36047759085) built the TSAN stages, but both GPU test families stopped at `amd-smi static` in the sanity check before component tests ran. End-to-end GPU qualification remains pending. ## Wider implementation This is the rocprofiler-systems half of the former combined PR; [#12320](#12320) is the independent hipFile half. TheRock [#8287](ROCm/TheRock#8287) pins the combined integration SHA until both fixes are merged and the submodule can be repinned. ISSUE ID: ROCm/TheRock#8496
…12320) ## Changes in this PR - Keep task state owned by its group and finish completion notification under the state mutex. - Remove the global publication mutex. Taskflow already publishes tasks through release/acquire queue operations; the reported warning did not establish a missing synchronization edge. - Add four tests covering repeated publication/wait, cancellation/destruction, worker-to-worker publication, and concurrent external submitters. ## Correction to the original diagnosis Jordan's instrumentation check exposed the underlying build problem: ccache 4.9.1 drops the `-Xarch_host` sanitizer arguments. Loading the TSAN runtime alone does not instrument Taskflow's atomic synchronization. Using the same original hipFile source and compiler, the broken ccache configuration produces zero TSAN symbols and reproduces the [original warning at thread-pool.cpp:52](https://github.com/ROCm/rockrel/actions/runs/35256784803/job/105322888343). Fixing instrumentation alone removes that warning. The build fix and executable instrumentation controls are in [TheRock #8485](ROCm/TheRock#8485). This PR no longer claims that a global mutex is required to fix that report. The original shared ownership also keeps state alive through notification; the remaining ownership change is a simplification covered by the tests below. ## Local validation — October 1, 2026 Built with AMD Clang 24 and verified TSAN memory-access and atomic load/store hooks in the actual objects. No suppression was added. | Implementation | Internal unit tests | | --- | --- | | Original implementation with correct instrumentation | 700/700 passed | | Previous PR implementation with global mutex | 700/700 passed | | Current implementation with global mutex removed | 700/700 passed | - Current implementation: all 10 thread-pool tests passed 100 isolated repetitions each. - The two new publication-path tests also passed 100 repetitions each on the original and previous PR implementations. - Fresh HIP, hipRTC, HSA runtime and hipFile libraries were built; the unit tests passed using the fresh runtimes. - A small optimized benchmark of independent pools confirmed cross-pool contention from the global lock. This is a tiny-task submission experiment, not an application I/O performance claim. - clang-format 18.1.4 and `git diff --check` passed. Representative test commands, with `TSAN_OPTIONS=halt_on_error=1:exitcode=86` and the freshly built runtime libraries selected: ```bash ctest --test-dir <hipfile-build> -L internal -LE stress --output-on-failure --timeout 90 --parallel 8 ctest --test-dir <hipfile-build> -R '^HipFileThreadPool\.' --repeat until-fail:100 --output-on-failure --timeout 60 ``` These results cover the host unit tests. GPU execution and end-to-end release CI remain unvalidated: the development machine exposes no GPU device. The separately labelled stress tests are outside the 700-test unit count. ## Related work - [TheRock #8485](ROCm/TheRock#8485): sanitizer build/instrumentation fix. - [rocm-systems #11739](#11739): the profiler half of the former combined change. - [TheRock #8287](ROCm/TheRock#8287): wider integration stack; its pins still need normal integration updates. Implementation, testing and this validation summary were prepared with AI assistance and reviewed in the local development session. ISSUE ID: ROCm/TheRock#8496 --------- Co-authored-by: Sahil Faizal <safaizal@amd.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Motivation
The JIRA ticket shows GPU arch is needed from HIP side even if the sample does not have arch specific code. Implementing this PR to avoid ASAN failures when gpu arch is not mentioned.
Technical Details
Add supported
GPU_TARGETSfor all samplesJIRA ID
ROCM-27712
Test Plan
ctests must pass
Test Result
Test results on Navi31 system:
Submission Checklist