Skip to content

merge aomp-dev into amd-staging - #2592

Closed
z1-cciauto wants to merge 26 commits into
amd-stagingfrom
upstream_merge_202609251536
Closed

z1-cciauto wants to merge 26 commits into
amd-stagingfrom
upstream_merge_202609251536

Conversation

@z1-cciauto

Copy link
Copy Markdown
Collaborator

No description provided.

Lynd98 and others added 26 commits September 17, 2026 23:49
* [build] - Add build of rocm_sysdeps

TheRock builds and ships some dependencies. Currently AOMP is only doing this
for libdrm/libdrm_amdgpu.

This PR adds build_rocm_sysdeps.sh, which builds right after prereq in the
component list.

* [rocm_sysdeps] - Fix shellcheck issues

* [build] - move rocsmilib and hwloc build to rocm_sysdeps

- rocmsmilib is dependent on libdrm and hwloc is dependent on rocmsmilib.
These are now invoked at the end of build_rocm_sysdeps.sh after libdrm
is built from source.
- Updated rocmsmilib version to 10.0
- Pass CMAKE_PREFIX_PATH=$ROCM_SYSDEPS_PATH to rocmsmilib

* [build] - Update PREFIX_PATH in build_rocr.sh to include rocm_sysdeps

* [build] - Update rocprofiler-sdk, rocm_smi_lib, amdsmi scripts with libdrm support

Two patches are needed for rocprofiler-sdk and rocm-smi to properly detect
the libdrm shipped with AOMP. These issues are not seen in TheRock
because they use 'include_directories(/path/to/libdrm/include)'.
 breaks psdb smoke-limbo

This reverts commit 9c09560.
Send stderr to rocprofv3.log and print that log only when the run fails.

Co-authored-by: Cursor <cursoragent@cursor.com>
Record once that the file defines variables for the scripts that source it,
so their uses are invisible to static analysis, and quote the two expansions
flagged for word splitting. Neither has an effect.

Quoting the array element in shquot also stops an argument holding a tab or
a newline from being split into several quoted words. That output is meant
to be pasted back into a shell, where the split silently alters the command.

AI-assisted.
Merge a delimited variable with a list of inputs, skipping empty ones and
avoiding dangling delimiters. Prepends by default so new inputs take priority.

AI-assisted.
Fix directory determination used during the aomp_common_vars sourcing.
Derive ROCM_PATH from AOMP.
Export PATH and LD_LIBRARY_PATH such that AOMP and ROCM_PATH take precedence.
Refactor CMake configuration to allow easy printing and add corresponding print.
Log the CMake configure step.

AI-assisted.
Search a list of prefixes for lib/cmake/<Module> and return the cmake
directory holding it. Defaults to AOMP, then ROCM_PATH, then /opt/rocm, so a
package missing from the ROCm under test resolves to the system ROCm.

AI-assisted.
ggml needs hip, hipblas and rocblas. Look each of them up separately so the
ROCm under test is preferred and another installation is only added to
CMAKE_PREFIX_PATH for what it does not ship itself, with a warning naming it.

AI-assisted.
A ROCm package borrowed from another installation exports its whole include
directory, HIP headers included, which CMake emits as -isystem. Since clang
searches its own ROCm last, those headers win over the ROCm under test.

Emit the include directory of the ROCm under test through
CMAKE_<LANG>_COMPILER_ARG1, the only slot ahead of the includes CMake
generates; every *_FLAGS variable lands behind them.

AI-assisted.
Without this the HIP headers of whichever ROCm provides hipblas and rocblas
are used, which fails to compile whenever they predate the compiler under
test.

AI-assisted.
Confirm the include directory survived into the CMake cache. A lost entry
only breaks the build while the two ROCm header sets are incompatible;
otherwise it silently builds against the wrong ones.

AI-assisted.
test-backend-ops alone runs for about 2500s on MI350X and is killed by the
1500s ctest applies by default, which reports as a test failure rather than
as an unfinished test.

AI-assisted.
Keep rocprofv3 messages out of launch_latency timings.
…ompliance-aomp-common-vars

[NFCI] Make aomp_common_vars clean under shellcheck
Removes the five classic flang components (llvm-classic, flang-classic,
pgmath, flang, flang_runtime) and their build scripts. They build from
$AOMP_REPOS/flang, which manifest 24.0 no longer clones, and flang-classic
was the only consumer of the clang-offload-wrapper and
clang-build-select-link tools already removed from amd-staging.

New flang is untouched.
A second -DCMAKE_PREFIX_PATH replaces the first, which dropped the
AOMP install from the search path and broke the rocprofiler-sdk build
(no rocprofv3 since #2545).
…run-exports-and-cmake

[llamacpp] Fix CMake config and EnVar setup
Now that libdrm is built and installed with AOMP,
meson is needed for configuration.
Follow up to #2569. Removes missed references to classic flang in
usage notes for test scripts and README files, commented out and
flang-classic libs and prereq tools in build-scripts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants