arrayfire / arrayfire

ArrayFire: a general purpose GPU library.

Home Page:https://arrayfire.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[BUG] inverse_dense and cholesky_dense tests are failing for cdouble in the OpenCL backendq

twesterhout opened this issue · comments

Description

Cholesky and Inverse tests are failing for the complex double datatype in the OpenCL backend. Here's the output:

Note: Google Test filter = Inverse/3.SquareMultiplePowerOfTwo
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from Inverse/3, where TypeParam = af::af_cdouble
[ RUN      ] Inverse/3.SquareMultiplePowerOfTwo
[platform][1691512400][3843717] [ arrayfire/src/backend/common/DependencyModule.cpp:102 ] Atte
[platform][1691512400][3843717] [ arrayfire/src/backend/common/DependencyModule.cpp:105 ] Foun
[platform][1691512400][3843717] [ arrayfire/src/backend/opencl/device_manager.cpp:217 ] Found
[platform][1691512400][3843717] [ arrayfire/src/backend/opencl/device_manager.cpp:228 ] Found
[platform][1691512400][3843717] [ arrayfire/src/backend/opencl/device_manager.cpp:232 ] Found
[platform][1691512400][3843717] [ arrayfire/src/backend/opencl/device_manager.cpp:239 ] Found
[platform][1691512400][3843717] [ arrayfire/src/backend/opencl/device_manager.cpp:361 ] Defaul
[mem][1691512401][3843717] [ arrayfire/src/backend/common/DefaultMemoryManager.cpp:127 ] memor
[mem][1691512401][3843717] [ arrayfire/src/backend/opencl/memory.cpp:216 ] nativeAlloc: 64 MB
[mem][1691512401][3843717] [ arrayfire/src/backend/opencl/memory.cpp:216 ] nativeAlloc: 64 MB
[jit][1691512401][3843717] [ arrayfire/src/backend/opencl/compile_module.cpp:262 ] {1763711299
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching identit
[mem][1691512401][3843717] [ arrayfire/src/backend/opencl/memory.cpp:216 ] nativeAlloc: 64 MB
[mem][1691512401][3843717] [ arrayfire/src/backend/opencl/memory.cpp:216 ] nativeAlloc: 64 MB
[mem][1691512401][3843717] [ arrayfire/src/backend/opencl/memory.cpp:216 ] nativeAlloc: 1 MB 0
[jit][1691512401][3843717] [ arrayfire/src/backend/opencl/compile_module.cpp:262 ] {4580068382
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching transpo
[jit][1691512401][3843717] [ arrayfire/src/backend/opencl/compile_module.cpp:262 ] {6136754930
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching transpo
[jit][1691512401][3843717] [ arrayfire/src/backend/opencl/compile_module.cpp:262 ] {9396644967
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching laswp
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching transpo
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching transpo
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching laswp
[...]
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching laswp
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching transpo
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching transpo
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching laswp
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching transpo
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching transpo
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching laswp
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching transpo
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching transpo
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching laswp
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching transpo
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching transpo
[mem][1691512401][3843717] [ arrayfire/src/backend/opencl/memory.cpp:216 ] nativeAlloc: 64 MB
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching transpo
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching identit
[mem][1691512401][3843717] [ arrayfire/src/backend/opencl/memory.cpp:216 ] nativeAlloc: 1 KB 0x19c2940
[mem][1691512401][3843717] [ arrayfire/src/backend/opencl/memory.cpp:216 ] nativeAlloc: 32 MB 0x19c1180
[jit][1691512401][3843717] [ arrayfire/src/backend/opencl/compile_module.cpp:262 ] {14727745567396370765 : loaded from $HOME/.arrayfire/KER14727745567396370765_CL_4318_TESLA_V100S-PCIE-32GB_AF_39.bin for Tesla V100S-PCIE-32GB }
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/jit.cpp:471 ] Launching : Dims: [4194304,1,1,1] Global: [4194304,1,1] Local: [128,1,1] threads: 4194304
[jit][1691512401][3843717] [ arrayfire/src/backend/opencl/compile_module.cpp:262 ] {7928445157814203532  : loaded from $HOME/.arrayfire/KER7928445157814203532_CL_4318_TESLA_V100S-PCIE-32GB_AF_39.bin for Tesla V100S-PCIE-32GB }
[mem][1691512401][3843717] [ arrayfire/src/backend/opencl/memory.cpp:216 ] nativeAlloc: 4 KB 0x19d15f0
[mem][1691512401][3843717] [ arrayfire/src/backend/opencl/memory.cpp:216 ] nativeAlloc: 1 KB 0x19d1d70
[jit][1691512401][3843717] [ arrayfire/src/backend/opencl/compile_module.cpp:262 ] {7273930811216189932  : loaded from $HOME/.arrayfire/KER7273930811216189932_CL_4318_TESLA_V100S-PCIE-32GB_AF_39.bin for Tesla V100S-PCIE-32GB }
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/jit.cpp:471 ] Launching : Dims: [1,1,1,1] Global: [128,1,1] Local: [128,1,1] threads: 128
[kernel][1691512401][3843717] [ arrayfire/src/backend/opencl/Kernel.hpp:34 ] Launching reduce_all_kernel
arrayfire/test/inverse_dense.cpp:51: Failure
The difference between 0 and max<typename dtype_traits<T>::base_type>(abs(real(I - I2))) is 7.1175211412698696, which exceeds eps, where
0 evaluates to 0,
max<typename dtype_traits<T>::base_type>(abs(real(I - I2))) evaluates to 7.1175211412698696, and
eps evaluates to 1.0000000000000001e-05.
[  FAILED  ] Inverse/3.SquareMultiplePowerOfTwo, where TypeParam = af::af_cdouble (701 ms)
[----------] 1 test from Inverse/3 (701 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (701 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] Inverse/3.SquareMultiplePowerOfTwo, where TypeParam = af::af_cdouble

 1 FAILED TEST

and

[ RUN      ] Cholesky/3.LowerMultipleOfTwoLarge
[kernel][1691512458][3844324] [ /vol/tcm28/westerhout_tom/arrayfire-nix/tmp/arrayfire/src/back
[kernel][1691512458][3844324] [ /vol/tcm28/westerhout_tom/arrayfire-nix/tmp/arrayfire/src/back
[kernel][1691512458][3844324] [ /vol/tcm28/westerhout_tom/arrayfire-nix/tmp/arrayfire/src/back
In function magma_int_t magma_potrf_gpu(magma_uplo_t, magma_int_t, cl_mem, size_t, magma_int_t
In file src/backend/opencl/magma/potrf.cpp:258
LAPACKE Error (59)
 0# 0x000015555416635A in /vol/tcm28/westerhout_tom/arrayfire-nix/tmp/arrayfire/build/src/back
 1# 0x00001555533A8F1E in /vol/tcm28/westerhout_tom/arrayfire-nix/tmp/arrayfire/build/src/back
 2# 0x00001555533A93A8 in /vol/tcm28/westerhout_tom/arrayfire-nix/tmp/arrayfire/build/src/back
 3# af_cholesky in /vol/tcm28/westerhout_tom/arrayfire-nix/tmp/arrayfire/build/src/backend/ope
 4# af::cholesky(af::array&, af::array const&, bool) in /vol/tcm28/westerhout_tom/arrayfire-ni
 5# 0x000000000041EB70 in ./test/cholesky_dense_opencl
 6# void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) in /nix/store/02qn8nqxpn2lirzidy2i1n8dzarjr01l-gtest-1.12.1/lib/libgtest.so.1.12.1
 7# testing::Test::Run() in /nix/store/02qn8nqxpn2lirzidy2i1n8dzarjr01l-gtest-1.12.1/lib/libgtest.so.1.12.1
 8# testing::TestInfo::Run() in /nix/store/02qn8nqxpn2lirzidy2i1n8dzarjr01l-gtest-1.12.1/lib/libgtest.so.1.12.1
 9# testing::TestSuite::Run() in /nix/store/02qn8nqxpn2lirzidy2i1n8dzarjr01l-gtest-1.12.1/lib/libgtest.so.1.12.1
10# testing::internal::UnitTestImpl::RunAllTests() in /nix/store/02qn8nqxpn2lirzidy2i1n8dzarjr01l-gtest-1.12.1/lib/libgtest.so.1.12.1
11# testing::UnitTest::Run() in /nix/store/02qn8nqxpn2lirzidy2i1n8dzarjr01l-gtest-1.12.1/lib/libgtest.so.1.12.1
12# 0x000000000040A5FF in ./test/cholesky_dense_opencl
13# 0x000015555295DACE in /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/libc.so.6
14# __libc_start_main in /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/libc.so.6
15# 0x000000000040A665 in ./test/cholesky_dense_opencl

unknown file: Failure
C++ exception with description "ArrayFire Exception (Internal error:998):
In function magma_int_t magma_potrf_gpu(magma_uplo_t, magma_int_t, cl_mem, size_t, magma_int_t, magma_queue_t, magma_int_t*) [with Ty = cl_double2; magma_int_t = int; cl_mem = _cl_mem*; size_t = long unsigned int; magma_queue_t = _cl_command_queue*]
In file src/backend/opencl/magma/potrf.cpp:258
LAPACKE Error (59)
 0# 0x000015555416635A in /vol/tcm28/westerhout_tom/arrayfire-nix/tmp/arrayfire/build/src/backend/opencl/libafopencl.so.3
 1# 0x00001555533A8F1E in /vol/tcm28/westerhout_tom/arrayfire-nix/tmp/arrayfire/build/src/backend/opencl/libafopencl.so.3
 2# 0x00001555533A93A8 in /vol/tcm28/westerhout_tom/arrayfire-nix/tmp/arrayfire/build/src/backend/opencl/libafopencl.so.3
 3# af_cholesky in /vol/tcm28/westerhout_tom/arrayfire-nix/tmp/arrayfire/build/src/backend/opencl/libafopencl.so.3
 4# af::cholesky(af::array&, af::array const&, bool) in /vol/tcm28/westerhout_tom/arrayfire-nix/tmp/arrayfire/build/src/backend/opencl/libafopencl.so.3
 5# 0x000000000041EB70 in ./tes" thrown in the test body.
[  FAILED  ] Cholesky/3.LowerMultipleOfTwoLarge, where TypeParam = af::af_cdouble (38 ms)

System Information

ArrayFire version: master branch
Devices: Tesla V100S-PCIE-32GB, 32768 MiB, 535.86.10

Checklist

  • Using the latest available ArrayFire release
  • GPU drivers are up to date

Thank you for reporting. We will take a look soon.