summaryrefslogtreecommitdiff
path: root/sci-libs/rocBLAS/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
commit4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch)
tree356496503d52354aa6d9f2d36126302fed5f3a73 /sci-libs/rocBLAS/files
parentfcc5224904648a8e6eb528d7603154160a20022f (diff)
gentoo resync : 20.03.2022
Diffstat (limited to 'sci-libs/rocBLAS/files')
-rw-r--r--sci-libs/rocBLAS/files/rocBLAS-4.3.0-remove-problematic-test-suites.patch22
-rw-r--r--sci-libs/rocBLAS/files/rocBLAS-4.3.0-unbundle-Tensile.patch44
2 files changed, 66 insertions, 0 deletions
diff --git a/sci-libs/rocBLAS/files/rocBLAS-4.3.0-remove-problematic-test-suites.patch b/sci-libs/rocBLAS/files/rocBLAS-4.3.0-remove-problematic-test-suites.patch
new file mode 100644
index 000000000000..4265e999f322
--- /dev/null
+++ b/sci-libs/rocBLAS/files/rocBLAS-4.3.0-remove-problematic-test-suites.patch
@@ -0,0 +1,22 @@
+Those tests will fail comparing rocblas vs openblas, because the testing program is so strict that it cannot tolerate the numerical differences which is actually OK.
+
+https://github.com/ROCmSoftwarePlatform/rocBLAS/issues/1202
+--- orig/clients/gtest/known_bugs.yaml
++++ rocBLAS-rocm-4.3.0/clients/gtest/known_bugs.yaml
+@@ -7,6 +7,16 @@ Known bugs:
+ - { function: gemm_ex, a_type: i8_r, b_type: i8_r, c_type: i32_r, d_type: i32_r, compute_type: i32_r, flags: 0, known_bug_platforms: "gfx900,gfx906,gfx1010,gfx1011,gfx1012,gfx1030" }
+ - { function: gemm_batched_ex, a_type: i8_r, b_type: i8_r, c_type: i32_r, d_type: i32_r, compute_type: i32_r, flags: 0, known_bug_platforms: "gfx900,gfx906,gfx90a,gfx1010,gfx1011,gfx1012,gfx1030" }
+ - { function: gemm_strided_batched_ex, a_type: i8_r, b_type: i8_r, c_type: i32_r, d_type: i32_r, compute_type: i32_r, flags: 0, known_bug_platforms: "gfx900,gfx906,gfx1010,gfx1011,gfx1012,gfx1030" }
++# gemv openblas reference differences due to summation order dependent roundoff accumulation with large M float complex
++# 8th significant digit difference vs CPU on single precision float math, leads to expected equality test failure
++# code needs to be changed to a tolerance test or reduce M for float complex type if using equality vs. CPU reference
++- { function: gemv, a_type: f32_c, transA: T, M: 131071 }
++- { function: gemv, a_type: f32_c, transA: C, M: 131071 }
++- { function: gemv_batched, a_type: f32_c, transA: T, M: 131071 }
++- { function: gemv_batched, a_type: f32_c, transA: C, M: 131071 }
++- { function: gemv_strided_batched, a_type: f32_c, transA: T, M: 131071 }
++- { function: gemv_strided_batched, a_type: f32_c, transA: C, M: 131071 }
++
+
+ #- { function: gemm_ex, a_type: bf16_r, b_type: bf16_r, c_type: bf16_r, d_type: bf16_r, compute_type: f32_r, transA: C, transB: N, M: 512, N: 512, K: 512, lda: 512, ldb: 512, ldc: 512, ldd: 512, alpha: 5.0, alphai: 0.0, beta: 0.0, betai: 0.0, known_bug_platforms: gfx908 }
+ #- { function: gemm_ex, a_type: bf16_r, b_type: bf16_r, c_type: bf16_r, d_type: bf16_r, compute_type: f32_r, transA: C, transB: N, M: 512, N: 512, K: 512, lda: 512, ldb: 512, ldc: 512, ldd: 512, alpha: 0.0, alphai: 0.0, beta: 3.0, betai: 0.0, known_bug_platforms: gfx908 }
diff --git a/sci-libs/rocBLAS/files/rocBLAS-4.3.0-unbundle-Tensile.patch b/sci-libs/rocBLAS/files/rocBLAS-4.3.0-unbundle-Tensile.patch
new file mode 100644
index 000000000000..f2bcff9a58db
--- /dev/null
+++ b/sci-libs/rocBLAS/files/rocBLAS-4.3.0-unbundle-Tensile.patch
@@ -0,0 +1,44 @@
+diff --git a/cmake/virtualenv.cmake b/cmake/virtualenv.cmake
+index 4c29c94..f9838c2 100644
+--- a/cmake/virtualenv.cmake
++++ b/cmake/virtualenv.cmake
+@@ -11,7 +11,7 @@ set(VIRTUALENV_HOME_DIR ${CMAKE_BINARY_DIR}/virtualenv CACHE PATH "Path to virtu
+ function(virtualenv_create)
+ message("${VIRTUALENV_PYTHON_EXE} -m venv ${VIRTUALENV_HOME_DIR} --system-site-packages --clear")
+ execute_process(
+- COMMAND ${VIRTUALENV_PYTHON_EXE} -m venv ${VIRTUALENV_HOME_DIR} --system-site-packages --clear
++ COMMAND true
+ )
+ endfunction()
+
+@@ -21,7 +21,7 @@ function(virtualenv_install)
+ message("${VIRTUALENV_HOME_DIR}/bin/python -m pip install ${ARGN}")
+ execute_process(
+ RESULT_VARIABLE rc
+- COMMAND ${VIRTUALENV_HOME_DIR}/bin/python -m pip install ${ARGN}
++ COMMAND true
+ )
+ if(rc)
+ message(FATAL_ERROR ${rc})
+diff --git a/library/src/CMakeLists.txt b/library/src/CMakeLists.txt
+index a34ee87..bf94988 100755
+--- a/library/src/CMakeLists.txt
++++ b/library/src/CMakeLists.txt
+@@ -99,9 +99,6 @@ if( BUILD_WITH_TENSILE )
+ # Create a unique name for TensileHost compiled for rocBLAS
+ set_target_properties( TensileHost PROPERTIES OUTPUT_NAME rocblas-tensile CXX_EXTENSIONS NO )
+ target_compile_definitions( TensileHost PUBLIC USE_TENSILE_HOST )
+-
+- # Tensile host depends on libs build target
+- add_dependencies( TensileHost TENSILE_LIBRARY_TARGET )
+ else()
+ # Create a unique name for Tensile compiled for rocBLAS
+ set_target_properties( Tensile PROPERTIES OUTPUT_NAME rocblas-tensile CXX_EXTENSIONS NO )
+@@ -520,7 +517,6 @@ rocm_install_targets(
+ if( BUILD_WITH_TENSILE )
+ if( BUILD_WITH_TENSILE_HOST )
+ set( ROCBLAS_TENSILE_LIBRARY_DIR "\${CPACK_PACKAGING_INSTALL_PREFIX}rocblas/lib" CACHE PATH "path to tensile library" )
+- install(DIRECTORY ${CMAKE_BINARY_DIR}/Tensile/library DESTINATION ${ROCBLAS_TENSILE_LIBRARY_DIR})
+ endif()
+ endif()
+