Debian Patches

Status for rocblas/5.5.1+dfsg-5

Patch Description Author Forwarded Bugs Origin Last update
0001-use-generic-blas-for-reference.patch use generic blas for reference
The upstream project typically uses either the AOCL BLIS library or the
Netlib BLAS library as the reference implementation in the test suite on
Linux. However, the OpenBLAS library is used by upstream on Windows. It
would be nice to use OpenBLAS on Debian for performance reasons (as the
test suite is heavily CPU-bound), however, the Netlib implementation
seems to be more reliable for achieving a full suite of passing tests.
Cordell Bloor <cgmb@slerp.xyz> not-needed 2023-04-08
0002-remove-use-of-pip-and-virtualenv.patch remove use of pip and virtualenv
The upstream project creates a virtualenv and uses pip to install the
Python dependencies during a build. In the Debian build, all the Python
dependencies are already provided by packages, so there's no need for
all that complexity.

When contributed upstream, this functionality was guarded behind the
cmake option -DBUILD_WITH_PIP=OFF. Tensile_ROOT can also be passed from
d/rules (if necessary) so this patch can be dropped with ROCm 5.7.
Cordell Bloor <cgmb@slerp.xyz> invalid 2023-04-09
0003-use-local-mathjax.patch use local mathjax
The sphinx.ext.mathjax extension defaults to loading mathjax from a
CDN, which results in the lintian warning 'privacy-breach-generic'.
Use a local copy of mathjax to prevent that problem.
Cordell Bloor <cgmb@slerp.xyz> not-needed 2023-07-11
0004-mark-known-bugs.patch mark known bugs
In ROCm 5.5, the FP16 High-Precision Accumulate checks are also offset
from the correct answer by margins slightly greater than those allowed.
Cordell Bloor <cgmb@slerp.xyz> not-needed 2023-07-16
0005-make-openmp-optional.patch make openmp optional Cordell Bloor <cgmb@slerp.xyz> no 2023-04-09
0006-move-tensile-library-into-versioned-subdir.patch move tensile library into versioned subdir
The Tensile library contains optimized kernels that are loaded at
runtime by rocblas, and thus must be a part of the library package.
To ensure that multiple versions of rocblas with different ABI
versions can be installed side-by-side, the library files must be
moved to a path containing the version number.
Cordell Bloor <cgmb@slerp.xyz> invalid 2023-04-09
0007-remove-references-to-dfsg-violating-kernels.patch remove references to dfsg-violating kernels
The DGEMM_Aldebaran_PKFixedAtomic512Latest and
DGEMM_Aldebaran_PKFixedAtomic512_104 kernels were removed for dfsg
reasons, and references to those kernels must be removed to fix the
build. This will result in a performance drop on MI200 GPUs because
the tuned assembly kernels will be replaced with fallback
implementations for these problems.

This problem has been reported upstream and they intend to supply a
better fix.
Cordell Bloor <cgmb@slerp.xyz> not-needed 2023-04-13
0008-ensure-replacementkernels-cov3-dir-exists.patch ensure replacementkernels-cov3 dir exists
All files in this directory were removed for dfsg violations, but the
directory itself is still required for the build.
Cordell Bloor <cgmb@slerp.xyz> not-needed 2023-04-13
0009-hide-kernel-symbols.patch hide kernel symbols
If not marked as static, the rocblas kernels would be weak public
symbols. They are not intended to be visible, but are not affected
by -fvisiblity=hidden and cannot be entirely hidden except by being
marked as static.
Cordell Bloor <cgmb@slerp.xyz> no 2023-04-13
0010-fix-sample-includes.patch fix sample includes Cordell Bloor <cgmb@slerp.xyz> invalid 2023-04-14
0011-disable-stdc-extension-in-header.patch disable stdc extension in header
The request for any STDC extension should not be controlled by a header or
else the behaviour of the program will change depending on the order of the
includes. This define is being removed upstream in ROCm 6.0.
Cordell Bloor <cgmb@slerp.xyz> yes upstream 2023-05-30
0012-expand-isa-compatibility.patch expand isa compatibility
This is not an ideal solution, but there are a number of ISAs that are
subsets of gfx900, gfx1010 and gfx1030. The simplest way to get
rocBLAS and Tensile to load the compatible kernels when running on
architectures compatible with those ISAs is to simply report the
GPU as being of the supported type.

There is no way this patch would be accepted upstream as it is expected
that they will implement a better solution... eventually.
Cordell Bloor <cgmb@slerp.xyz> not-needed 2023-05-31
0013-disable-rotg-nan-check.patch [PATCH] refactor rotg_test code (#1632)
* refactor rotg_test code

* for rotg use alpha and beta in place of rotga and rotgb

* correct rotg initialization
Andrew Chapman <andrew.chapman@amd.com> yes upstream origin 2023-02-13
0014-spellcheck.patch spellcheck
All fixes have been forwarded. Some were also fixed upstream in
https://github.com/ROCmSoftwarePlatform/rocBLAS/commit/53c8ce8d3eb2eee9c7ca6711522efbf882de1646
Cordell Bloor <cgmb@slerp.xyz> yes 2023-06-28
0015-move-rocsblas-test-data-to-share.patch move rocsblas test data to share
The rocblas_test.data file is a binary file containing arguments to
test with rocblas functions (e.g., various combinations of matrix
sizes and other similar options). It is created by rocblas_gentest.py
and is architecture-independent (as it always uses network byte order).
Cordell Bloor <cgmb@slerp.xyz> not-needed 2023-07-11
0016-disable-replacement-kernels.patch disable replacement kernels
The replacement kernels were removed for DFSG reasons. Attempting to
use them in rocBLAS anyway will cause non-deterministic errors at
build-time and run-time.

The upstream project is committed to eliminating the closed-source
kernels, so this should be a non-issue in the near future.
Cordell Bloor <cgmb@slerp.xyz> not-needed debian 2023-07-26
0017-print-kernel-name-for-missing-attribute-error.patch print kernel name for missing attribute error
It is difficult to debug a failed build without knowing what kernel
caused the issue. In theory, this error should never occur. However,
the logging will be useful if it does.
Cordell Bloor <cgmb@slerp.xyz> not-needed 2023-07-26
0018-verbose-tensile-source-kernel-build.patch verbose tensile source kernel build
The build of the Tensile source kernels takes quite a long time, so it
may time out on slower machines if there is no output in too long. The
verbose flag should add some output at the start of the build for each
offload architecture, which should help prevent timeout.
Cordell Bloor <cgmb@slerp.xyz> not-needed 2023-07-28
0019-remove-x86-intrinsics.patch remove x86 intrinsics
The x86 intrinsics don't seem to be used.
Cordell Bloor <cgmb@slerp.xyz> no 2023-07-28
0020-msgpack-names.patch [PATCH] fix for newer windows vcpkg msgpack (#1827) Torre Zuk <42548444+TorreZuk@users.noreply.github.com> no 2023-11-28
0021-msgpack-cxx-support.patch [PATCH] another vcpkg version package name fix (#1836)
* more vcpkg package options
Torre Zuk <42548444+TorreZuk@users.noreply.github.com> no 2023-12-06
0022-reserved-identifiers.patch [PATCH] Fix reserved identifiers in include guards (#1600)
The include guards have been changed to the filename in uppercase
letters with all non-alphanumeric symbols replaced by underscore.
This include guard pattern matches the guard that is used for the
generated file rocsparse-export.h.

The C and C++ standards reserve all identifiers that begin with an
underscore followed by a capital letter [C99 §7.1.3]
[C++11 §17.6.4.3.2].
Cory Bloor <Cordell.Bloor@amd.com> no 2023-01-19

All known versions for source package 'rocblas'

Links