Documentation for hipBLAS is available at https://rocm.docs.amd.com/projects/hipBLAS/en/latest/.
- Added the
hipblasSetWorkspace()API - Support for codecoverage tests
- HIPBLAS_V2 API is now the only available API using
hipComplexandhipDatatypetypes - Documentation updates
- Verbose compilation for
hipblas.cpp
hipblasDatatype_ttypehipComplexandhipDoubleComplextypes- Support code for non-production gfx targets
- The build time
CMakeconfiguration for the dependency onhipBLAS-commonis fixed - Compiler warnings for unhandled enums have been resolved
- Updated build dependencies
- Fixed Windows reference library interface for rocSOLVER functions for hipBLAS clients
- Level 3 functions have an additional ILP64 API for both C and FORTRAN (_64 name suffix) with int64_t function arguments.
- amdclang is used as the default compiler instead of g++
- Added a dependency on the hipblas-common package
- Level 2 functions have additional ILP64 API for both C and FORTRAN (_64 name suffix) with int64_t function arguments
- Level 1 "_ex" functions have additional ILP64 API
- install.sh script invokes rmake.py script, along with various improvements within the build scripts
- Library dependencies in install.sh script have been changed from "rocblas" and "rocsolver" to the development packages "rocblas-dev" and "rocsolver-dev"
- Linux AOCL dependency updated to release 4.2 gcc build
- Windows vcpkg dependencies updated to release 2024.02.14
- New build option to automatically use hipconfig --platform to determine HIP platform
- Level 1 functions have additional ILP64 API for both C and Fortran (
_64name suffix) with int64_t function arguments - New functions hipblasGetMathMode and hipblasSetMathMode
- USE_CUDA build option; use HIP_PLATFORM=amd or HIP_PLATFORM=nvidia to override hipconfig
- Some Level 2 function argument names have changed from
mtonto match legacy BLAS; there was no change in implementation. - Updated client code to use YAML-based testing
- Renamed
.doxygenand.sphinxfolders todoxygenandsphinx, respectively - Added CMake support for documentation
- New option to define
HIPBLAS_USE_HIP_BFLOAT16to switch API to use thehip_bfloat16type - New
hipblasGemmExWithFlagsAPI
hipblasDatatype_t; usehipDataTypeinsteadhipblasComplex; usehipComplexinsteadhipblasDoubleComplex; usehipDoubleComplexinstead- Use of
hipblasDatatype_tforhipblasGemmExfor compute-type; usehipblasComputeType_tinstead
hipblasXtrmm(calculates B <- alpha * op(A) * B) has been replaced withhipblasXtrmm(calculates C <- alpha * op(A) * B)
- Updated documentation requirements
- rocSOLVER now depends on rocSPARSE
- Added const qualifier to hipBLAS functions (swap, sbmv, spmv, symv, trsm) where missing
hipblasInt8Datatype_t enumhipblasSetInt8DatatypehipblasGetInt8Datatype functions
- In-place trmm will be replaced by trmm that includes both in-place and out-of-place functionality
- Optional opt-in to use the
__half for hipblasHalftype (with C++) when you defineHIPBLAS_USE_HIP_HALF - added scripts to plot performance for multiple functions
- data driven hipblas-bench and hipblas-test execution via external yaml format data files
- client smoke test added for quick validation using command hipblas-test --yaml hipblas_smoke.yaml
- Data type conversion functions support more rocBLAS and cuBLAS data types
geqrfnow returns successfully when nullptrs are passed with n == 0 || m == 0getrsnow returns successfully when given nullptrs with corresponding size = 0getrsgives info = -1 when transpose is not an expected typegelsnow returns successfully when given nullptrs with corresponding size = 0gelsnow gives info = -1 when transpose is not in ('N', 'T') for real cases and not in ('N', 'C') for complex cases
- Changed reference code for Windows to OpenBLAS
- hipBLAS client executables all now begin with the
hipblas-prefix
- Allow for selection of int8 data type
- Added support for
hipblasXgelsandhipblasXgelsStridedBatchedoperations (with s,d,c,z precisions), only supported with rocBLAS backend - Added support for
hipblasXgelsBatchedoperations (with s,d,c,z precisions)
- New
--cudapathoption ininstall.sh, which allows you to specify the CUDA build you want to use - New
--installcudaoption ininstall.shto install CUDA using a package manager (this can also be used with the new--installcudaversionoption that allows you to specify the CUDA version you want to install)
#includesnow support a compiler version- Fixed client dependency support in
install.sh
- New packages for test and benchmark executables on all supported operating systems using CPack
- Added file and folder reorganization changes with backward compatibility support for
rocm-cmakewrapper functions - Added user-specified initialization option to
hipblas-bench
- Version gathering in performance-measuring script
hipblas-testoutput now has library version and device information- New
--rocsolver-pathcommand line option that you can use to specify a path (absolute or relative) to the pre-built rocSOLVER - Added
--cmake_installcommand line option to update CMake to the minimum version - Added
cmake-argparameter to pass in cmake arguments while building - ReadtheDocs infrastructure support for the hipBLAS documentation
- Added
hipblasVersionMinor(hipblaseVersionMinorremains for backwards compatibility) - Doxygen warnings in
hipblas.hheader file
rocblas-pathcommand line option can be specified as absolute or relative path- Help message improvements in
install.shandrmake.py - Updated GoogleTest dependency from 1.10.0 to 1.11.0
hipblas-benchrocSOLVER functions- Added
ROCM_MATHLIBS_API_USE_HIP_COMPLEXto opt-in to usehipFloatComplexandhipDoubleComplex - Compilation warning for future trmm changes
hipblas.hdocumentation- Added option to forgo pivoting for getrf and getri when ipiv is nullptr
- Code coverage option
- Use of incorrect
HIP_PATHwhen building from source - Windows packaging
- Allowing negative increments in
hipblas-bench - Removed boost dependency
- Additional support for
hipblas-bench HIPBLAS_STATUS_UNKNOWNfor unsupported backend status codes
- Avoid large offset overflow for
gemvandhemvinhipblas-test
- Packaging has been split into a runtime package (
hipblas) and a development package (hipblas-devel): The development package depends on the runtime package. When installing the runtime package, the package manager will suggest the installation of the development package to aid users transitioning from the previous version's combined package. This suggestion by package manager is for all supported operating systems (except CentOS 7) to aid in the transition. Thesuggestionfeature in the runtime package is introduced as a deprecated feature and will be removed in a future ROCm release.
hipblasStatusToString
- Added
catch()blocks around API calls to prevent the leak of C++ exceptions
- Updates for rocBLAS
gemm_exchanges: When using the rocBLAS backend, hipBLAS queries the preferable layout of int8 data passed togemm_exand passes in the resulting flag (you must specify your preferred data format when callinggemm_exwith a rocBLAS backend) - Added
hipblas-benchwith support forcopy,swap, andscal
- Added the following functions, which include batched and strided-batched support with the rocBLAS
backend:
axpy_exdot_exnrm2_exrot_exscal_ex
- Complex unit test bug caused by incorrect
caxpyandzaxpyfunction signatures
- Added a changelog
hipblas-bench, with support forgemv,trsm, andgemm- rocSOLVER is now a CPack dependency
hipblasSetAtomicsModeandhipblasGetAtomicsMode- Build doesn't look for CUDA backend unless
--cudaflag is passed
- Device memory reallocates on demand
--staticbuild flag allows the creation of a static library
--rocblas-pathcommand line option to choose path to pre-built rocBLASsgetriBatcheddgetriBatchedcgetriBatchedzgetriBatchedTrsmExTrsmBatchedExTrsmStridedBatchedExhipblasSetVectorAsynchipblasGetVectorAsynchipblasSetMatrixAsynchipblasGetMatrixAsync- Fortran support for
getrf,getrs,geqrf, and all variants thereof
- Added the following functions, which include batched and strided-batched support with the rocBLAS
backend:
stbsv,dtbsv,ctbsv,ztbsvssymm,dsymm,csymm,zsymmcgeam,zgeamchemm,zhemmstrtri,dtrtri,ctrtri, `ztrtrisdgmm,ddgmm,cdgmm,zdgmm
GemmBatchedExandGemmStridedBatchedEx- Fortran support for BLAS functions
- Added the following functions, which include batched and strided-batched support with the rocBLAS
backend:
sgbmv,dgbmv,cgbmv,zgbmvchemv,zhemvstbmv,dtbmv,ctbmv,ztbmvstrmv,trmv,ctrmv,ztrmvchbmv,zhbmvcher,zhercher2,zher2chpmv,zhpmvchpr,zhprchpr2,zhpr2ssbmv,dsbmvsspmv,dspmvssymv,dsymv,csymv,zsymvstpmv,dtpmv,ctpmv,ztpmvcgeru,cgerc,zgeru,zgercsspr,dspr,cspr,zsprsspr2,dspr2csyr,zsyrssyr2,dsyr2,csyr2,zsyr2stpsv,dtpsv,ctpsv,ztpsvctrsv,ztrsvcherk,zherkcherkx,zherkxcher2k,zher2kssyrk,dsyrk,csyrk,zsyrkssyr2k,dsyr2k,csyr2k,zsyr2kssyrkx,dsyrkx,csyrkx,zsyrkxctrmm,ztrmmctrsm,ztrsm