Skip to content

[BLAS][rocblas] PI header includes to applies for only DPC++ compiler #685

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 2, 2025

Conversation

abagusetty
Copy link
Contributor

Description

  1. Removes preprocessor macro on pi.hpp which only applies to DPC++ compiler but not to AdaptiveCPP. This logic is already handled under backends/rocblas/rocblas_scope_handle.hpp which is specific to DPC++ and the respective AdaptiveCPP header is already clean backends/rocblas/rocblas_scope_handle_hipsycl.hpp

  2. Fixed a deprecated header warning for CL/sycl.hpp and placed it under guards.

Fixes #684

Checklist

All Submissions

  • Do all unit tests pass locally? Attach a log.

New interfaces

  • Have you provided motivation for adding a new feature as part of RFC and
    it was accepted? # (RFC)
  • What version of oneAPI spec the interface is targeted?
  • Complete New features checklist

New features

  • Have you provided motivation for adding a new feature?
  • Have you added relevant tests?

Bug fixes

  • Have you added relevant regression tests?
  • Have you included information on how to reproduce the issue (either in a
    GitHub issue or in this PR)?

@abagusetty abagusetty requested a review from a team as a code owner May 30, 2025 15:58
@Rbiessy
Copy link
Contributor

Rbiessy commented May 30, 2025

/intelci: run

@andrewtbarker
Copy link
Contributor

Do tests that use the rocblas backend pass?

@abagusetty
Copy link
Contributor Author

@andrewtbarker @Rbiessy Not sure if I am launching all the tests

$ ctest --verbose
UpdateCTestConfiguration  from :/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/abagusetty-onemath/build-acpp-rocm6.4.0/DartConfiguration.tcl
UpdateCTestConfiguration  from :/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/abagusetty-onemath/build-acpp-rocm6.4.0/DartConfiguration.tcl
Test project /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/abagusetty-onemath/build-acpp-rocm6.4.0
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: blas/EXAMPLE/RT/gemm_usm/hip:gpu

1: Test command: /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/abagusetty-onemath/build-acpp-rocm6.4.0/bin/example_blas_gemm_usm
1: Working Directory: /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/abagusetty-onemath/build-acpp-rocm6.4.0/examples/blas/run_time_dispatching/level3
1: Environment variables: 
1:  ONEAPI_DEVICE_SELECTOR=hip:gpu
1: Test timeout computed to be: 10000000
1: 
1: ########################################################################
1: # General Matrix-Matrix Multiplication using Unified Shared Memory Example: 
1: # 
1: # C = alpha * A * B + beta * C
1: # 
1: # where A, B and C are general dense matrices and alpha, beta are
1: # floating point type precision scalars.
1: # 
1: # Using apis:
1: #   gemm
1: # 
1: # Using single precision (float) data type
1: # 
1: # Device will be selected during runtime.
1: # The environment variable ONEAPI_DEVICE_SELECTOR can be used to specify
1: # available devices
1: # 
1: ########################################################################
1: 
1: Running BLAS GEMM USM example on GPU device.
1: Device name is: AMD Instinct MI250X
1: Running with single precision real data type:
1: 
1: 		GEMM parameters:
1: 			transA = trans, transB = nontrans
1: 			m = 45, n = 98, k = 67
1: 			lda = 103, ldB = 105, ldC = 106
1: 			alpha = 2, beta = 3
1: 
1: 		Outputting 2x2 block of A,B,C matrices:
1: 
1: 			A = [ 0.340188, 0.260249, ...
1: 			    [ -0.105617, 0.0125354, ...
1: 			    [ ...
1: 
1: 
1: 			B = [ -0.326421, -0.192968, ...
1: 			    [ 0.363891, 0.251295, ...
1: 			    [ ...
1: 
1: 
1: 			C = [ 0.00698781, 0.525862, ...
1: 			    [ 0.585167, 1.59017, ...
1: 			    [ ...
1: 
1: BLAS GEMM USM example ran OK.
1/1 Test #1: blas/EXAMPLE/RT/gemm_usm/hip:gpu ...   Passed    3.07 sec

100% tests passed, 0 tests failed out of 1

Total Test time (real) =   3.08 sec

Copy link
Contributor

@andrewtbarker andrewtbarker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For these small changes I'm happy to see one AMD gpu / rocblas test pass, thanks!

@Rbiessy Rbiessy merged commit 0c57e49 into uxlfoundation:develop Jun 2, 2025
10 checks passed
@abagusetty abagusetty deleted the fix-684-blas-piheaders branch June 2, 2025 18:46
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.

[rocblas][AdaptiveCpp] Build issues with missing pi headers
3 participants