Skip to content

ggml-blas: hide warnings from included BLAS headers#18818

Merged
ggerganov merged 3 commits intoggml-org:masterfrom
mitmedialab:blas_compat_aocl
Jan 16, 2026
Merged

ggml-blas: hide warnings from included BLAS headers#18818
ggerganov merged 3 commits intoggml-org:masterfrom
mitmedialab:blas_compat_aocl

Conversation

@DaAwesomeP
Copy link
Copy Markdown
Contributor

This is a followup from #18205 (comment) to hide some warnings. These warnings are appearing now that the correct headers are being included in some builds.

@DaAwesomeP
Copy link
Copy Markdown
Contributor Author

cc @AndVinni

@github-actions github-actions bot added the ggml changes relating to the ggml tensor library for machine learning label Jan 13, 2026
@taronaeo
Copy link
Copy Markdown
Member

cc @AndVinni

Ready to merge? Or should we wait for his comment/input? :)

@ggerganov
Copy link
Copy Markdown
Member

It would be nice to confirm - I'm not familiar with CMake SYSTEM option for includes myself.

@DaAwesomeP
Copy link
Copy Markdown
Contributor Author

DaAwesomeP commented Jan 15, 2026

I can confirm it is working for me (Ubuntu 24.04 with GCC 13). I can't speak to MinGW or llama.cpp specifically, but on my project which depends on GGML I now see this when building with GGML_BLAS_VENDOR=AOCL_mt, BLAS_LIBRARIES, and BLAS_INCLUDE_DIRS:

[ 97%] Building CXX object _deps/ggml-build/src/ggml-blas/CMakeFiles/ggml-blas.dir/ggml-blas.cpp.o
[ 97%] Linking CXX shared module ../../../../libggml-blas.so
[ 97%] Built target ggml-blas

Where before I saw:

[ 86%] Building CXX object _deps/ggml-build/src/ggml-blas/CMakeFiles/ggml-blas.dir/ggml-blas.cpp.o
In file included from /cpm-cache/ggml/a265/src/ggml-blas/ggml-blas.cpp:14:
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'bool bli_is_row_vector(dim_t, dim_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:5566:52: warning: unused parameter 'n' [-Wunused-parameter]
 5566 | BLIS_INLINE bool bli_is_row_vector( dim_t m, dim_t n )
      |                                              ~~~~~~^
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'bool bli_is_col_vector(dim_t, dim_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:5572:43: warning: unused parameter 'm' [-Wunused-parameter]
 5572 | BLIS_INLINE bool bli_is_col_vector( dim_t m, dim_t n )
      |                                     ~~~~~~^
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'inc_t bli_vector_inc(trans_t, dim_t, dim_t, inc_t, inc_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:5617:65: warning: unused parameter 'n' [-Wunused-parameter]
 5617 | BLIS_INLINE inc_t bli_vector_inc( trans_t trans, dim_t m, dim_t n, inc_t rs, inc_t cs )
      |                                                           ~~~~~~^
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'bool bli_is_row_stored(inc_t, inc_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:5624:43: warning: unused parameter 'rs' [-Wunused-parameter]
 5624 | BLIS_INLINE bool bli_is_row_stored( inc_t rs, inc_t cs )
      |                                     ~~~~~~^~
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'bool bli_is_col_stored(inc_t, inc_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:5630:53: warning: unused parameter 'cs' [-Wunused-parameter]
 5630 | BLIS_INLINE bool bli_is_col_stored( inc_t rs, inc_t cs )
      |                                               ~~~~~~^~
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'bool bli_is_row_stored_f(dim_t, dim_t, inc_t, inc_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:5636:45: warning: unused parameter 'm' [-Wunused-parameter]
 5636 | BLIS_INLINE bool bli_is_row_stored_f( dim_t m, dim_t n, inc_t rs, inc_t cs )
      |                                       ~~~~~~^
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'bool bli_is_col_stored_f(dim_t, dim_t, inc_t, inc_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:5642:54: warning: unused parameter 'n' [-Wunused-parameter]
 5642 | BLIS_INLINE bool bli_is_col_stored_f( dim_t m, dim_t n, inc_t rs, inc_t cs )
      |                                                ~~~~~~^
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'bool bli_gemmt_is_strictly_below_diag(dim_t, dim_t, dim_t, dim_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:5691:84: warning: unused parameter 'm' [-Wunused-parameter]
 5691 | BLIS_INLINE bool bli_gemmt_is_strictly_below_diag( dim_t m_off, dim_t n_off, dim_t m, dim_t n )
      |                                                                              ~~~~~~^
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'bool bli_gemmt_is_strictly_above_diag(dim_t, dim_t, dim_t, dim_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:5697:93: warning: unused parameter 'n' [-Wunused-parameter]
 5697 | BLIS_INLINE bool bli_gemmt_is_strictly_above_diag( dim_t m_off, dim_t n_off, dim_t m, dim_t n )
      |                                                                                       ~~~~~~^
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'bool bli_is_strictly_above_diag_n(doff_t, dim_t, dim_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:5764:79: warning: unused parameter 'n' [-Wunused-parameter]
 5764 | BLIS_INLINE bool bli_is_strictly_above_diag_n( doff_t diagoff, dim_t m, dim_t n )
      |                                                                         ~~~~~~^
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'bool bli_is_strictly_below_diag_n(doff_t, dim_t, dim_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:5770:70: warning: unused parameter 'm' [-Wunused-parameter]
 5770 | BLIS_INLINE bool bli_is_strictly_below_diag_n( doff_t diagoff, dim_t m, dim_t n )
      |                                                                ~~~~~~^
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'void bli_prune_unstored_region_top_l(doff_t*, dim_t*, dim_t*, dim_t*)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:5807:85: warning: unused parameter 'n' [-Wunused-parameter]
 5807 | BLIS_INLINE void bli_prune_unstored_region_top_l( doff_t* diagoff, dim_t* m, dim_t* n, dim_t* offm_inc )
      |                                                                              ~~~~~~~^
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'void bli_prune_unstored_region_left_u(doff_t*, dim_t*, dim_t*, dim_t*)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:5833:76: warning: unused parameter 'm' [-Wunused-parameter]
 5833 | BLIS_INLINE void bli_prune_unstored_region_left_u( doff_t* diagoff, dim_t* m, dim_t* n, dim_t* offn_inc )
      |                                                                     ~~~~~~~^
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'bool bli_is_edge_b(dim_t, dim_t, dim_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:6016:48: warning: unused parameter 'n_iter' [-Wunused-parameter]
 6016 | BLIS_INLINE bool bli_is_edge_b( dim_t i, dim_t n_iter, dim_t n_left )
      |                                          ~~~~~~^~~~~~
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'bool bli_is_not_edge_b(dim_t, dim_t, dim_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:6022:52: warning: unused parameter 'n_iter' [-Wunused-parameter]
 6022 | BLIS_INLINE bool bli_is_not_edge_b( dim_t i, dim_t n_iter, dim_t n_left )
      |                                              ~~~~~~^~~~~~
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'bool bli_is_last_iter_sl(dim_t, dim_t, dim_t, dim_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:6028:70: warning: unused parameter 'tid' [-Wunused-parameter]
 6028 | BLIS_INLINE bool bli_is_last_iter_sl( dim_t i, dim_t end_iter, dim_t tid, dim_t nth )
      |                                                                ~~~~~~^~~
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:6028:81: warning: unused parameter 'nth' [-Wunused-parameter]
 6028 | BLIS_INLINE bool bli_is_last_iter_sl( dim_t i, dim_t end_iter, dim_t tid, dim_t nth )
      |                                                                           ~~~~~~^~~
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'void bli_cscal2ris_mxn(conj_t, dim_t, dim_t, scomplex*, scomplex*, inc_t, inc_t, scomplex*, inc_t, inc_t, inc_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:10266:42: warning: unused parameter 'rs_y' [-Wunused-parameter]
10266 |        scomplex* restrict y, const inc_t rs_y, const inc_t cs_y, const inc_t is_y
      |                              ~~~~~~~~~~~~^~~~
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'void bli_zscal2ris_mxn(conj_t, dim_t, dim_t, dcomplex*, dcomplex*, inc_t, inc_t, dcomplex*, inc_t, inc_t, inc_t)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:10331:42: warning: unused parameter 'rs_y' [-Wunused-parameter]
10331 |        dcomplex* restrict y, const inc_t rs_y, const inc_t cs_y, const inc_t is_y
      |                              ~~~~~~~~~~~~^~~~
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'void bli_thread_range_jrir_rr(thrinfo_t*, dim_t, dim_t, bool, dim_t*, dim_t*, dim_t*)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:20942:19: warning: unused parameter 'bf' [-Wunused-parameter]
20942 |        dim_t      bf,
      |        ~~~~~~~~~~~^~
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:20943:19: warning: unused parameter 'handle_edge_low' [-Wunused-parameter]
20943 |        bool       handle_edge_low,
      |        ~~~~~~~~~~~^~~~~~~~~~~~~~~
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'func_t* bli_cntx_get_packm_kers(l1mkr_t, cntx_t*)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:25888:16: warning: comparison is always true due to limited range of data type [-Wtype-limits]
25888 |         if ( 0 <= ( gint_t )ker_id &&
      |              ~~^~~~~~~~~~~~~~~~~~~
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'void* bli_cntx_get_packm_ker_dt(num_t, l1mkr_t, cntx_t*)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:25906:16: warning: comparison is always true due to limited range of data type [-Wtype-limits]
25906 |         if ( 0 <= ( gint_t )ker_id &&
      |              ~~^~~~~~~~~~~~~~~~~~~
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'func_t* bli_cntx_get_unpackm_kers(l1mkr_t, cntx_t*)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:25931:16: warning: comparison is always true due to limited range of data type [-Wtype-limits]
25931 |         if ( 0 <= ( gint_t )ker_id &&
      |              ~~^~~~~~~~~~~~~~~~~~~
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h: In function 'void* bli_cntx_get_unpackm_ker_dt(num_t, l1mkr_t, cntx_t*)':
/app/_builds/Release1/_deps/blas-build/include/amdzen/blis.h:25949:16: warning: comparison is always true due to limited range of data type [-Wtype-limits]
25949 |         if ( 0 <= ( gint_t )ker_id &&
      |              ~~^~~~~~~~~~~~~~~~~~~
[ 86%] Linking CXX shared module ../../../../libggml-blas.so
[ 86%] Built target ggml-blas

I tested these with --clean-first to compare.

@AndVinni
Copy link
Copy Markdown

SYSTEM replaces the -I compiler switch with -isystem.
"It's more lenient on code you can't change but trust."
But MSVC has a different syntax: /external:I
I checked the test CMakeLists.txt:

cmake_minimum_required(VERSION 3.10)
project(MyProject)
add_executable(my_app src/main.cpp)
target_include_directories(my_app SYSTEM PRIVATE src)

cmake .

result in my_app.vcxproj: %(AdditionalOptions) /external:I "D:/Projects/Source/Tst/src"

SYSTEM is a completely cross-platform solution.

@taronaeo
Copy link
Copy Markdown
Member

It would be nice to confirm - I'm not familiar with CMake SYSTEM option for includes myself.

Answered by @/AndVinni :)

If there are no further comments/changes, let's merge in a few hours.

@ggerganov ggerganov merged commit 0802d4c into ggml-org:master Jan 16, 2026
75 of 76 checks passed
MaheshJakkala pushed a commit to MaheshJakkala/llama.cpp that referenced this pull request Mar 15, 2026
* fix compile def openblas, blis for compat libs, nvpl compile def, warn if no blas vendor set

* ggml-blas: hide warnings from included BLAS headers
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ggml changes relating to the ggml tensor library for machine learning

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants