Debian Patches
Status for rocsolver/5.5.1-7
Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
---|---|---|---|---|---|---|
0001-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-17 | ||
0002-remove-m2r2-dependency.patch | remove m2r2 dependency The m2r2 (Markdown to ReStructured Text) package is not available in Debian, but it's also not really needed. |
Cordell Bloor <cgmb@slerp.xyz> | no | 2023-07-17 | ||
0003-fmt-compatibility.patch | [PATCH] Fix use of fmt 9.0 and later in logging test (#515) The implicitly defined formatter that rocsolver was using for std::filesystem::path has been removed from fmt 9.0 and later. This change doesn't actually fix compatibility with the official fmt 9.0 or 9.1 releases, because those releases are still incompatible with HIP. However, the change is sufficient for using rocsolver with fmt@9 from Spack (because the fix has been backported). |
Cory Bloor <Cordell.Bloor@amd.com> | no | 2023-01-25 | ||
0004-hide-kernel-symbols.patch | [PATCH] Hide symbols for GPU kernels (#512) The -fvisibility=hidden flag does not affect kernels and thus all __global__ GPU functions become externally-visible symbols by default. If a user defines a kernel with the same name and parameters as a kernel that is defined in rocsolver, there will be a conflict. There will not be any sort of compilation or linker error, but the rocSOLVER definition of the function will be used instead of the user definition. That is a problem, because our kernel function names do not use any sort of prefix or namespace to prevent name conflicts with functions defined by library users. We have always built rocSOLVER in such a way that each translation unit gets its own GPU code object in the final library binary. Unlike normal template function instantiations, GPU template function instantiations are not deduplicated by the linker. From the point of view of code duplication, __global__ functions are already effectively static! At some point, we should investigate whether rocSOLVER would benefit from compiler options that combined the code objects to reduce the amount of duplicated code in the library binary. For now, the default behaviour means that there's no additional duplication introduced by marking the GPU kernels as static --- not because there's no duplication, but because everything that _would_ get duplicated already has been duplicated. In summary, marking __global__ kernels as static appears to be a simple and effective way to prevent symbol conflicts between library and user code. |
Cory Bloor <Cordell.Bloor@amd.com> | no | 2023-01-25 | ||
0005-doxygen-Add-parent-directory-to-inputs.patch | doxygen: Add parent directory to inputs Needed for ../README.md and other inputs. Otherwise, this generates a warning with newer doxygen, and build fails because of WARN_AS_ERROR. Not forwarding, as documentation build has changed with ROCm 5.6, and the issue should be reproduced there, first. |
Christian Kastner <ckk@debian.org> | no | 2023-09-14 | ||
0006-rm-immintrin-include.patch | rm immintrin include Fix the build on ppc64el. |
Cordell Bloor <cgmb@slerp.xyz> | yes | 2024-03-02 | ||
0007-fix-reserved-identifiers.patch | [PATCH] Fix reserved identifiers in include guards (#513) 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 rocsolver-export.h. There are two reasons for this: 1. The C and C++ standards reserve all identifiers that begin with underscore followed by a capital letter [C99 §7.1.3] [C++11 §17.6.4.3.2]. 2. In user-visible code, the rocSOLVER library should prevent name conflicts by only using identifiers that begin with `rocblas`, `ROCBLAS`, `rocsolver` or `ROCSOLVER`. |
Cory Bloor <Cordell.Bloor@amd.com> | no | 2023-01-25 | ||
0008-check-for-hip-errors.patch | [PATCH] Check HIP API return values on all calls (#493) * Check HIP API return values on all calls * Check for HIP errors in SYEVJ/HEEVJ * Drop padding checks from d_vector * Fix error logging on success |
Cory Bloor <Cordell.Bloor@amd.com> | no | 2023-01-26 | ||
0009-verbose-build-of-specialized-kernels.patch | verbose build of specialized kernels These files take so long to build on slower ppc64el and arm64 systems that the build may time out due to inactivity. This is typically when building for ten or more GPU architectures. Add the verbose flag so that there is output printed as the compiler finishes building a translation unit for each architecture. |
Cordell Bloor <cgmb@slerp.xyz> | not-needed | 2024-03-19 | ||
0010-drop-f16c-instructions.patch | [PATCH] Drop use of f16c instructions (#768) The -mf16c flag is troublesome as those instructions may not be available on older CPUs. The clang compiler also seems to emit AVX instructions when it is told that it can use F16C. The flag can be dropped without consequence as rocSOLVER does not use half precision. This was done for rocBLAS in c6bc09073959a2881a701b88ae1ed9de469354f1. |
Cory Bloor <Cordell.Bloor@amd.com> | yes | 2024-07-24 | ||
0011-fmt-10-support.patch | [PATCH] Fix libfmt build errors (#828) * Fix build errors with libfmt 10.2.1 * Use `fmt::print` instead of `std::cout` |
Julio Machado Silva <161654951+jmachado-amd@users.noreply.github.com> | no | 2024-10-07 |
All known versions for source package 'rocsolver'
- 5.5.1-7 (sid, trixie)