[CMake] Accept legacy 'hipsycl' as deprecated alias for 'adaptivecpp' - #751
Conversation
hipSYCL was renamed to AdaptiveCpp (uxlfoundation#699), and ONEMATH_SYCL_IMPLEMENTATION now only accepts 'adaptivecpp'. Users following older instructions that pass 'hipsycl' hit a fatal "implementation is not known" error. Map the legacy value to 'adaptivecpp' and emit a deprecation warning so existing build scripts keep working. Addresses uxlfoundation#711. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Thanks. |
melonakos
left a comment
There was a problem hiding this comment.
Thanks Zheming — this is a straightforward usability win and I'm happy to approve it.
I checked the surrounding logic: before this change, -DONEMATH_SYCL_IMPLEMENTATION=hipsycl fell through to the else() branch and died with FATAL_ERROR "SYCL implementation hipsycl is not known". So anyone with a build script written before the AdaptiveCpp rename got a hard failure with no hint about what to change. Now they get a clear warning and a working build. Good.
Placement is right — after the TOLOWER, before the adaptivecpp comparison — and I confirmed there are no other hipsycl references left anywhere in CMakeLists.txt, so nothing else needs updating to match.
One optional suggestion, take it or leave it: consider message(DEPRECATION ...) rather than message(WARNING ...). It's CMake's purpose-built mechanism for exactly this case, and it lets downstream users opt into strictness with -DCMAKE_ERROR_DEPRECATED=ON or quiet it with -DCMAKE_WARN_DEPRECATED=OFF. With plain WARNING they have no control. Not worth another CI cycle on its own if you'd rather leave it.
Heads up on CI: those four red ArmPL failures are not yours. Every one of them comes from a run on 2026-08-11, and ArmPL passes on runs before (Jul 28) and after (Aug 12 onward) on other PRs — it was a CI outage that day. This PR touches only CMakeLists.txt and cannot break ArmPL BLAS/LAPACK/RNG/DFT unit tests. A re-run should clear it, so please don't spend any time chasing those traces.
With this approval you should be at the two required, so a CI re-run is the only thing standing between this and a merge.
|
Correcting myself — I got the CI diagnosis wrong above, and I want to fix that on the record before you act on it. I said the ArmPL failures were a one-day CI outage on 2026-08-11 and that a re-run would clear them. I re-ran the aarch64 jobs today and they failed again in about 60 seconds, so that was wrong on both counts. The real cause is the That URL no longer serves the package. The download returns 361 bytes — an error page — and because So this is a broken CI dependency, not a transient outage and not anything to do with your change. A re-run won't help; the workflow needs the URL updated and Why it hits this PR and not most of the others: the The part of my earlier comment that still holds: this is not your bug and there's nothing for you to fix here. Sorry for the wrong steer on the re-run. |
|
My correction above was also wrong — the fix already exists. Here's the verified timeline, which I should have established before posting either version.
So the breakage was real but bounded, and it was fixed on Why my re-run didn't clear it: re-running a workflow run replays the original commit's workflow file. Today's re-run still fetched What actually clears it is a fresh Net for you, unchanged from the start: this was never your bug and there's nothing here for you to fix. Sorry for the two-step; I should have checked the workflow's history before diagnosing it the first time. |
Summary
Addresses #711.
hipSYCL was renamed to AdaptiveCpp, and #699 updated
ONEMATH_SYCL_IMPLEMENTATION(and all internal references / docs) to useadaptivecpp. As a result, users following older instructions or scripts that pass-DONEMATH_SYCL_IMPLEMENTATION=hipsyclnow hit a fatal error:This PR accepts the legacy
hipsyclvalue as a deprecated alias foradaptivecpp, emitting a deprecation warning that points users to the new value, so existing build scripts keep working:Note: the original report (v0.9) predates #699; on current
developthe docs and CMake already agree onadaptivecpp. This change only adds backward compatibility for the old spelling.Test plan
-DONEMATH_SYCL_IMPLEMENTATION=adaptivecppunchanged.-DONEMATH_SYCL_IMPLEMENTATION=hipsycl(andhipSYCL, via existingTOLOWER) now maps to AdaptiveCpp with a deprecation warning instead of failing.