def suite(): s = TestSuite() s.addTest(test_cublas('test_cublasIsamax')) s.addTest(test_cublas('test_cublasIcamax')) s.addTest(test_cublas('test_cublasIsamin')) s.addTest(test_cublas('test_cublasIcamin')) s.addTest(test_cublas('test_cublasSasum')) s.addTest(test_cublas('test_cublasScasum')) s.addTest(test_cublas('test_cublasSaxpy')) s.addTest(test_cublas('test_cublasCaxpy')) s.addTest(test_cublas('test_cublasScopy')) s.addTest(test_cublas('test_cublasCcopy')) s.addTest(test_cublas('test_cublasSdot')) s.addTest(test_cublas('test_cublasCdotu')) s.addTest(test_cublas('test_cublasCdotc')) s.addTest(test_cublas('test_cublasSrnm2')) s.addTest(test_cublas('test_cublasScrnm2')) s.addTest(test_cublas('test_cublasSscal')) s.addTest(test_cublas('test_cublasCscal')) s.addTest(test_cublas('test_cublasSrot')) s.addTest(test_cublas('test_cublasSswap')) s.addTest(test_cublas('test_cublasCswap')) s.addTest(test_cublas('test_cublasSgemv')) s.addTest(test_cublas('test_cublasCgemv')) s.addTest(test_cublas('test_cublasSgeam')) s.addTest(test_cublas('test_cublasCgeam')) s.addTest(test_cublas('test_cublasSgemmBatched')) s.addTest(test_cublas('test_cublasCgemmBatched')) s.addTest(test_cublas('test_cublasStrsmBatched')) s.addTest(test_cublas('test_cublasSgetrfBatched')) if misc.get_compute_capability(pycuda.autoinit.device) >= 1.3: s.addTest(test_cublas('test_cublasIdamax')) s.addTest(test_cublas('test_cublasIzamax')) s.addTest(test_cublas('test_cublasIdamin')) s.addTest(test_cublas('test_cublasIzamin')) s.addTest(test_cublas('test_cublasDasum')) s.addTest(test_cublas('test_cublasDzasum')) s.addTest(test_cublas('test_cublasDaxpy')) s.addTest(test_cublas('test_cublasZaxpy')) s.addTest(test_cublas('test_cublasDcopy')) s.addTest(test_cublas('test_cublasZcopy')) s.addTest(test_cublas('test_cublasDdot')) s.addTest(test_cublas('test_cublasZdotu')) s.addTest(test_cublas('test_cublasZdotc')) s.addTest(test_cublas('test_cublasDrnm2')) s.addTest(test_cublas('test_cublasDzrnm2')) s.addTest(test_cublas('test_cublasDscal')) s.addTest(test_cublas('test_cublasZscal')) s.addTest(test_cublas('test_cublasZdscal')) s.addTest(test_cublas('test_cublasDswap')) s.addTest(test_cublas('test_cublasZswap')) s.addTest(test_cublas('test_cublasDgemv')) s.addTest(test_cublas('test_cublasZgemv')) s.addTest(test_cublas('test_cublasDgeam')) s.addTest(test_cublas('test_cublasZgeam')) s.addTest(test_cublas('test_cublasDgemmBatched')) s.addTest(test_cublas('test_cublasZgemmBatched')) s.addTest(test_cublas('test_cublasDtrsmBatched')) s.addTest(test_cublas('test_cublasDgetrfBatched')) return s
def cuda_svd(): # demo_types = [np.float32, np.complex64] demo_types = [np.float32] if cula._libcula_toolkit == "premium" and cumisc.get_compute_capability(pycuda.autoinit.device) >= 1.3: demo_types.extend([np.float64, np.complex128]) for t in demo_types: print "Testing svd for type " + str(np.dtype(t)) # numpy.float32 a = np.asarray((np.random.rand(1000, 1000) - 0.5) / 10, t) print a.shape u_cpu, s_cpu, v_cpu = np.linalg.svd(a) # gpu array a_gpu = gpuarray.to_gpu(a) # call cula rutine u_gpu, s_gpu, vh_gpu = culinalg.svd(a_gpu) print u_gpu.get() print u_cpu # print s_gpu.get() # print vh_gpu.get() a_rec = np.dot(u_gpu.get(), np.dot(np.diag(s_gpu.get()), vh_gpu.get())) print "Success status: ", np.allclose(a, a_rec, atol=1e-3) print "Maximum error: ", np.max(np.abs(a - a_rec)) print ""
def suite(): s = TestSuite() s.addTest(test_fft('test_fft_float32_to_complex64')) s.addTest(test_fft('test_ifft_complex64_to_float32')) if misc.get_compute_capability(pycuda.autoinit.device) >= 1.3: s.addTest(test_fft('test_fft_float64_to_complex128')) s.addTest(test_fft('test_ifft_complex128_to_float64')) return s
def suite(): s = TestSuite() s.addTest(test_special('test_sici_float32')) s.addTest(test_special('test_e1z_complex64')) if misc.get_compute_capability(pycuda.autoinit.device) >= 1.3: s.addTest(test_special('test_sici_float64')) s.addTest(test_special('test_e1z_complex128')) return s
def suite(): s = TestSuite() s.addTest(test_integrate('test_trapz_float32')) s.addTest(test_integrate('test_trapz_complex64')) s.addTest(test_integrate('test_trapz2d_float32')) s.addTest(test_integrate('test_trapz2d_complex64')) if misc.get_compute_capability(pycuda.autoinit.device) >= 1.3: s.addTest(test_integrate('test_trapz_float64')) s.addTest(test_integrate('test_trapz_complex128')) s.addTest(test_integrate('test_trapz2d_float64')) s.addTest(test_integrate('test_trapz2d_complex128')) return s
def suite(): s = TestSuite() s.addTest(test_misc('test_maxabs_float32')) s.addTest(test_misc('test_maxabs_complex64')) s.addTest(test_misc('test_cumsum_float32')) s.addTest(test_misc('test_cumsum_complex64')) s.addTest(test_misc('test_diff_float32')) s.addTest(test_misc('test_diff_complex64')) if misc.get_compute_capability(pycuda.autoinit.device) >= 1.3: s.addTest(test_misc('test_maxabs_float64')) s.addTest(test_misc('test_maxabs_complex128')) s.addTest(test_misc('test_cumsum_float64')) s.addTest(test_misc('test_cumsum_complex128')) s.addTest(test_misc('test_diff_float64')) s.addTest(test_misc('test_diff_complex128')) return s
def suite(): s = TestSuite() s.addTest(test_misc('test_maxabs_float32')) s.addTest(test_misc('test_maxabs_complex64')) s.addTest(test_misc('test_cumsum_float32')) s.addTest(test_misc('test_cumsum_complex64')) s.addTest(test_misc('test_diff_float32')) s.addTest(test_misc('test_diff_complex64')) s.addTest(test_misc('test_get_by_index_float32')) s.addTest(test_misc('test_set_by_index_dest_float32')) s.addTest(test_misc('test_set_by_index_src_float32')) s.addTest(test_misc('test_binaryop_matvec_float32')) s.addTest(test_misc('test_binaryop_matvec_complex64')) s.addTest(test_misc('test_sum_float32')) s.addTest(test_misc('test_sum_complex64')) s.addTest(test_misc('test_mean_float32')) s.addTest(test_misc('test_mean_complex64')) s.addTest(test_misc('test_var_float32')) s.addTest(test_misc('test_var_complex64')) s.addTest(test_misc('test_std_float32')) s.addTest(test_misc('test_std_complex64')) s.addTest(test_misc('test_minmax_float32')) s.addTest(test_misc('test_argminmax_float32')) if misc.get_compute_capability(pycuda.autoinit.device) >= 1.3: s.addTest(test_misc('test_maxabs_float64')) s.addTest(test_misc('test_maxabs_complex128')) s.addTest(test_misc('test_cumsum_float64')) s.addTest(test_misc('test_cumsum_complex128')) s.addTest(test_misc('test_diff_float64')) s.addTest(test_misc('test_diff_complex128')) s.addTest(test_misc('test_get_by_index_float32')) s.addTest(test_misc('test_set_by_index_dest_float64')) s.addTest(test_misc('test_set_by_index_src_float64')) s.addTest(test_misc('test_sum_float64')) s.addTest(test_misc('test_sum_complex128')) s.addTest(test_misc('test_mean_float64')) s.addTest(test_misc('test_mean_complex128')) s.addTest(test_misc('test_binaryop_matvec_float64')) s.addTest(test_misc('test_binaryop_matvec_complex128')) s.addTest(test_misc('test_var_float64')) s.addTest(test_misc('test_var_complex128')) s.addTest(test_misc('test_std_float64')) s.addTest(test_misc('test_std_complex128')) s.addTest(test_misc('test_minmax_float64')) s.addTest(test_misc('test_argminmax_float64')) return s
def suite(): s = TestSuite() s.addTest(test_misc('test_maxabs_float32')) s.addTest(test_misc('test_maxabs_complex64')) s.addTest(test_misc('test_cumsum_float32')) s.addTest(test_misc('test_cumsum_complex64')) s.addTest(test_misc('test_diff_float32')) s.addTest(test_misc('test_diff_complex64')) s.addTest(test_misc('test_get_by_index_float32')) s.addTest(test_misc('test_set_by_index_dest_float32')) s.addTest(test_misc('test_set_by_index_src_float32')) s.addTest(test_misc('test_binaryop_matvec_float32')) s.addTest(test_misc('test_binaryop_matvec_complex64')) s.addTest(test_misc('test_sum_float32')) s.addTest(test_misc('test_sum_complex64')) s.addTest(test_misc('test_mean_float32')) s.addTest(test_misc('test_mean_complex64')) s.addTest(test_misc('test_var_float32')) s.addTest(test_misc('test_var_complex64')) s.addTest(test_misc('test_std_float32')) s.addTest(test_misc('test_std_complex64')) if misc.get_compute_capability(pycuda.autoinit.device) >= 1.3: s.addTest(test_misc('test_maxabs_float64')) s.addTest(test_misc('test_maxabs_complex128')) s.addTest(test_misc('test_cumsum_float64')) s.addTest(test_misc('test_cumsum_complex128')) s.addTest(test_misc('test_diff_float64')) s.addTest(test_misc('test_diff_complex128')) s.addTest(test_misc('test_get_by_index_float32')) s.addTest(test_misc('test_set_by_index_dest_float64')) s.addTest(test_misc('test_set_by_index_src_float64')) s.addTest(test_misc('test_sum_float64')) s.addTest(test_misc('test_sum_complex128')) s.addTest(test_misc('test_mean_float64')) s.addTest(test_misc('test_mean_complex128')) s.addTest(test_misc('test_binaryop_matvec_float64')) s.addTest(test_misc('test_binaryop_matvec_complex128')) s.addTest(test_misc('test_var_float64')) s.addTest(test_misc('test_var_complex128')) s.addTest(test_misc('test_std_float64')) s.addTest(test_misc('test_std_complex128')) return s
def suite(): s = TestSuite() s.addTest(test_fft('test_fft_float32_to_complex64_1d')) s.addTest(test_fft('test_fft_float32_to_complex64_2d')) s.addTest(test_fft('test_batch_fft_float32_to_complex64_1d')) s.addTest(test_fft('test_batch_fft_float32_to_complex64_2d')) s.addTest(test_fft('test_ifft_complex64_to_float32_1d')) s.addTest(test_fft('test_ifft_complex64_to_float32_2d')) s.addTest(test_fft('test_batch_ifft_complex64_to_float32_1d')) s.addTest(test_fft('test_batch_ifft_complex64_to_float32_2d')) s.addTest(test_fft('test_multiple_streams')) if misc.get_compute_capability(pycuda.autoinit.device) >= 1.3: s.addTest(test_fft('test_fft_float64_to_complex128_1d')) s.addTest(test_fft('test_fft_float64_to_complex128_2d')) s.addTest(test_fft('test_batch_fft_float64_to_complex128_1d')) s.addTest(test_fft('test_batch_fft_float64_to_complex128_2d')) s.addTest(test_fft('test_ifft_complex128_to_float64_1d')) s.addTest(test_fft('test_ifft_complex128_to_float64_2d')) s.addTest(test_fft('test_batch_ifft_complex128_to_float64_1d')) s.addTest(test_fft('test_batch_ifft_complex128_to_float64_2d')) return s
""" import pycuda.autoinit import pycuda.driver as drv import pycuda.gpuarray as gpuarray import numpy as np import scikits.cuda.linalg as culinalg import scikits.cuda.misc as cumisc culinalg.init() # Double precision is only supported by devices with compute # capability >= 1.3: import string import scikits.cuda.cula as cula demo_types = [np.float32, np.complex64] if cula._libcula_toolkit == "premium" and cumisc.get_compute_capability(pycuda.autoinit.device) >= 1.3: demo_types.extend([np.float64, np.complex128]) for t in demo_types: print "Testing pinv for type " + str(np.dtype(t)) a = np.asarray((np.random.rand(50, 50) - 0.5) / 10, t) a_gpu = gpuarray.to_gpu(a) a_inv_gpu = culinalg.pinv(a_gpu) print "Success status: ", np.allclose(np.linalg.pinv(a), a_inv_gpu.get(), atol=1e-2) print "Maximum error: ", np.max(np.abs(np.linalg.pinv(a) - a_inv_gpu.get())) print ""
def suite(): s = TestSuite() s.addTest(test_linalg("test_svd_ss_float32")) s.addTest(test_linalg("test_svd_ss_complex64")) s.addTest(test_linalg("test_svd_so_float32")) s.addTest(test_linalg("test_svd_so_complex64")) s.addTest(test_linalg("test_dot_matrix_float32")) s.addTest(test_linalg("test_dot_matrix_complex64")) s.addTest(test_linalg("test_dot_matrix_h_complex64")) s.addTest(test_linalg("test_dot_vector_float32")) s.addTest(test_linalg("test_dot_vector_complex64")) s.addTest(test_linalg("test_mdot_matrix_float32")) s.addTest(test_linalg("test_mdot_matrix_complex64")) s.addTest(test_linalg("test_dot_diag_float32")) s.addTest(test_linalg("test_dot_diag_complex64")) s.addTest(test_linalg("test_dot_diag_t_float32")) s.addTest(test_linalg("test_dot_diag_t_complex64")) s.addTest(test_linalg("test_transpose_float32")) s.addTest(test_linalg("test_transpose_complex64")) s.addTest(test_linalg("test_hermitian_float32")) s.addTest(test_linalg("test_hermitian_complex64")) s.addTest(test_linalg("test_conj_complex64")) s.addTest(test_linalg("test_diag_1d_float32")) s.addTest(test_linalg("test_diag_2d_wide_float32")) s.addTest(test_linalg("test_diag_2d_tall_float32")) s.addTest(test_linalg("test_diag_1d_complex64")) s.addTest(test_linalg("test_diag_2d_wide_complex64")) s.addTest(test_linalg("test_diag_2d_tall_complex64")) s.addTest(test_linalg("test_eye_float32")) s.addTest(test_linalg("test_eye_complex64")) s.addTest(test_linalg("test_pinv_float32")) s.addTest(test_linalg("test_pinv_complex64")) s.addTest(test_linalg("test_tril_float32")) s.addTest(test_linalg("test_tril_complex64")) s.addTest(test_linalg("test_multiply_float32")) s.addTest(test_linalg("test_multiply_complex64")) s.addTest(test_linalg("test_cho_factor_float32")) s.addTest(test_linalg("test_cho_solve_float32")) s.addTest(test_linalg("test_inv_float32")) s.addTest(test_linalg("test_inv_complex64")) s.addTest(test_linalg("test_add_diag_float32")) s.addTest(test_linalg("test_add_diag_complex64")) s.addTest(test_linalg("test_inv_exceptions")) s.addTest(test_linalg("test_eye_large_float32")) s.addTest(test_linalg("test_trace_float32")) s.addTest(test_linalg("test_trace_complex64")) s.addTest(test_linalg("test_add_dot_matrix_float32")) s.addTest(test_linalg("test_add_dot_matrix_complex64")) s.addTest(test_linalg("test_dot_strided_float32")) s.addTest(test_linalg("test_dot_strided_complex64")) s.addTest(test_linalg("test_det_float32")) s.addTest(test_linalg("test_det_complex64")) if misc.get_compute_capability(pycuda.autoinit.device) >= 1.3: s.addTest(test_linalg("test_svd_ss_float64")) s.addTest(test_linalg("test_svd_ss_complex128")) s.addTest(test_linalg("test_svd_so_float64")) s.addTest(test_linalg("test_svd_so_complex128")) s.addTest(test_linalg("test_dot_matrix_float64")) s.addTest(test_linalg("test_dot_matrix_complex128")) s.addTest(test_linalg("test_dot_matrix_h_complex128")) s.addTest(test_linalg("test_dot_vector_float64")) s.addTest(test_linalg("test_dot_vector_complex128")) s.addTest(test_linalg("test_mdot_matrix_float64")) s.addTest(test_linalg("test_mdot_matrix_complex128")) s.addTest(test_linalg("test_dot_diag_t_float64")) s.addTest(test_linalg("test_dot_diag_t_complex128")) s.addTest(test_linalg("test_transpose_float64")) s.addTest(test_linalg("test_transpose_complex128")) s.addTest(test_linalg("test_hermitian_float64")) s.addTest(test_linalg("test_hermitian_complex64")) s.addTest(test_linalg("test_conj_complex128")) s.addTest(test_linalg("test_diag_1d_float64")) s.addTest(test_linalg("test_diag_2d_wide_float64")) s.addTest(test_linalg("test_diag_2d_tall_float64")) s.addTest(test_linalg("test_diag_1d_complex128")) s.addTest(test_linalg("test_diag_2d_wide_complex128")) s.addTest(test_linalg("test_diag_2d_tall_complex128")) s.addTest(test_linalg("test_eye_float64")) s.addTest(test_linalg("test_eye_complex128")) s.addTest(test_linalg("test_pinv_float64")) s.addTest(test_linalg("test_pinv_complex128")) s.addTest(test_linalg("test_tril_float64")) s.addTest(test_linalg("test_tril_complex128")) s.addTest(test_linalg("test_multiply_float64")) s.addTest(test_linalg("test_multiply_complex128")) s.addTest(test_linalg("test_inv_float64")) s.addTest(test_linalg("test_inv_complex128")) s.addTest(test_linalg("test_add_diag_float64")) s.addTest(test_linalg("test_add_diag_complex128")) s.addTest(test_linalg("test_trace_float64")) s.addTest(test_linalg("test_trace_complex128")) s.addTest(test_linalg("test_add_dot_matrix_float64")) s.addTest(test_linalg("test_add_dot_matrix_complex128")) s.addTest(test_linalg("test_dot_strided_float64")) s.addTest(test_linalg("test_dot_strided_complex128")) s.addTest(test_linalg("test_det_float64")) s.addTest(test_linalg("test_det_complex128")) return s
import numpy as np import scikits.cuda.linalg as culinalg import scikits.cuda.misc as cumisc import string from ctypes import * cdll.LoadLibrary("/usr/local/lib/libCudaKernelLibrary.so") kmeansLib = CDLL("/usr/local/lib/libCudaKernelLibrary.so") culinalg.init() # Double precision is only supported by devices with compute # capability >= 1.3: demo_types = [np.float32] if cumisc.get_compute_capability(pycuda.autoinit.device) >= 5.0: demo_types.extend([np.float64]) for t in demo_types: np.random.seed(seed=42) m = 899946 n = 129 k = 1024 print 'Testing matrix multiplication for type ' + str(np.dtype(t)) a = np.asarray(np.random.rand(m,n), t) b = np.asarray(np.random.rand(n,k), t) start = cuda.Event() stop = cuda.Event()
def suite(): s = TestSuite() s.addTest(test_linalg('test_svd_ss_float32')) s.addTest(test_linalg('test_svd_ss_complex64')) s.addTest(test_linalg('test_svd_so_float32')) s.addTest(test_linalg('test_svd_so_complex64')) s.addTest(test_linalg('test_dot_matrix_float32')) s.addTest(test_linalg('test_dot_matrix_complex64')) s.addTest(test_linalg('test_dot_matrix_h_complex64')) s.addTest(test_linalg('test_dot_vector_float32')) s.addTest(test_linalg('test_dot_vector_complex64')) s.addTest(test_linalg('test_mdot_matrix_float32')) s.addTest(test_linalg('test_mdot_matrix_complex64')) s.addTest(test_linalg('test_dot_diag_float32')) s.addTest(test_linalg('test_dot_diag_complex64')) s.addTest(test_linalg('test_dot_diag_t_float32')) s.addTest(test_linalg('test_dot_diag_t_complex64')) s.addTest(test_linalg('test_transpose_float32')) s.addTest(test_linalg('test_transpose_complex64')) s.addTest(test_linalg('test_hermitian_float32')) s.addTest(test_linalg('test_hermitian_complex64')) s.addTest(test_linalg('test_conj_complex64')) s.addTest(test_linalg('test_diag_float32')) s.addTest(test_linalg('test_diag_float32_large')) s.addTest(test_linalg('test_diag_complex64')) s.addTest(test_linalg('test_eye_float32')) s.addTest(test_linalg('test_eye_complex64')) s.addTest(test_linalg('test_pinv_float32')) s.addTest(test_linalg('test_pinv_complex64')) s.addTest(test_linalg('test_tril_float32')) s.addTest(test_linalg('test_tril_complex64')) s.addTest(test_linalg('test_multiply_float32')) s.addTest(test_linalg('test_multiply_complex64')) s.addTest(test_linalg('test_cho_factor_float32')) s.addTest(test_linalg('test_cho_solve_float32')) s.addTest(test_linalg('test_inv_float32')) s.addTest(test_linalg('test_inv_complex64')) s.addTest(test_linalg('test_add_diag_float32')) s.addTest(test_linalg('test_add_diag_complex64')) s.addTest(test_linalg('test_inv_exceptions')) s.addTest(test_linalg('test_eye_large_float32')) if misc.get_compute_capability(pycuda.autoinit.device) >= 1.3: s.addTest(test_linalg('test_svd_ss_float64')) s.addTest(test_linalg('test_svd_ss_complex128')) s.addTest(test_linalg('test_svd_so_float64')) s.addTest(test_linalg('test_svd_so_complex128')) s.addTest(test_linalg('test_dot_matrix_float64')) s.addTest(test_linalg('test_dot_matrix_complex128')) s.addTest(test_linalg('test_dot_matrix_h_complex128')) s.addTest(test_linalg('test_dot_vector_float64')) s.addTest(test_linalg('test_dot_vector_complex128')) s.addTest(test_linalg('test_mdot_matrix_float64')) s.addTest(test_linalg('test_mdot_matrix_complex128')) s.addTest(test_linalg('test_dot_diag_float64')) s.addTest(test_linalg('test_dot_diag_complex128')) s.addTest(test_linalg('test_dot_diag_t_float64')) s.addTest(test_linalg('test_dot_diag_t_complex128')) s.addTest(test_linalg('test_transpose_float64')) s.addTest(test_linalg('test_transpose_complex128')) s.addTest(test_linalg('test_hermitian_float64')) s.addTest(test_linalg('test_hermitian_complex64')) s.addTest(test_linalg('test_conj_complex128')) s.addTest(test_linalg('test_diag_float64')) s.addTest(test_linalg('test_diag_complex128')) s.addTest(test_linalg('test_eye_float64')) s.addTest(test_linalg('test_eye_complex128')) s.addTest(test_linalg('test_pinv_float64')) s.addTest(test_linalg('test_pinv_complex128')) s.addTest(test_linalg('test_tril_float64')) s.addTest(test_linalg('test_tril_complex128')) s.addTest(test_linalg('test_multiply_float64')) s.addTest(test_linalg('test_multiply_complex128')) s.addTest(test_linalg('test_inv_float64')) s.addTest(test_linalg('test_inv_complex128')) s.addTest(test_linalg('test_add_diag_float64')) s.addTest(test_linalg('test_add_diag_complex128')) return s
#!/usr/bin/env python """ Demonstrate diagonal matrix creation on the GPU. """ import pycuda.autoinit import pycuda.gpuarray as gpuarray import pycuda.driver as drv import numpy as np import scikits.cuda.linalg as culinalg import scikits.cuda.misc as cumisc culinalg.init() # Double precision is only supported by devices with compute # capability >= 1.3: import string demo_types = [np.float32, np.complex64] if cumisc.get_compute_capability(pycuda.autoinit.device) >= 1.3: demo_types.extend([np.float64, np.complex128]) for t in demo_types: print 'Testing real diagonal matrix creation for type ' + str(np.dtype(t)) v = np.array([1, 2, 3, 4, 5, 6], t) v_gpu = gpuarray.to_gpu(v) d_gpu = culinalg.diag(v_gpu) print 'Success status: ', np.all(d_gpu.get() == np.diag(v))
def suite(): s = TestSuite() s.addTest(test_linalg('test_svd_ss_float32')) s.addTest(test_linalg('test_svd_ss_complex64')) s.addTest(test_linalg('test_svd_so_float32')) s.addTest(test_linalg('test_svd_so_complex64')) s.addTest(test_linalg('test_dot_matrix_float32')) s.addTest(test_linalg('test_dot_matrix_complex64')) s.addTest(test_linalg('test_dot_matrix_t_float32')) s.addTest(test_linalg('test_dot_matrix_t_complex64')) s.addTest(test_linalg('test_dot_matrix_h_complex64')) s.addTest(test_linalg('test_dot_vector_float32')) s.addTest(test_linalg('test_dot_vector_complex64')) s.addTest(test_linalg('test_mdot_matrix_float32')) s.addTest(test_linalg('test_mdot_matrix_complex64')) s.addTest(test_linalg('test_dot_diag_float32')) s.addTest(test_linalg('test_dot_diag_complex64')) s.addTest(test_linalg('test_dot_diag_t_float32')) s.addTest(test_linalg('test_dot_diag_t_complex64')) s.addTest(test_linalg('test_transpose_float32')) s.addTest(test_linalg('test_transpose_complex64')) s.addTest(test_linalg('test_hermitian_float32')) s.addTest(test_linalg('test_hermitian_complex64')) s.addTest(test_linalg('test_conj_complex64')) s.addTest(test_linalg('test_diag_float32')) s.addTest(test_linalg('test_diag_complex64')) s.addTest(test_linalg('test_eye_float32')) s.addTest(test_linalg('test_eye_complex64')) s.addTest(test_linalg('test_pinv_float32')) s.addTest(test_linalg('test_pinv_complex64')) s.addTest(test_linalg('test_tril_float32')) s.addTest(test_linalg('test_tril_complex64')) s.addTest(test_linalg('test_multiply_float32')) s.addTest(test_linalg('test_multiply_complex64')) if misc.get_compute_capability(pycuda.autoinit.device) >= 1.3: s.addTest(test_linalg('test_svd_ss_float64')) s.addTest(test_linalg('test_svd_ss_complex128')) s.addTest(test_linalg('test_svd_so_float64')) s.addTest(test_linalg('test_svd_so_complex128')) s.addTest(test_linalg('test_dot_matrix_float64')) s.addTest(test_linalg('test_dot_matrix_complex128')) s.addTest(test_linalg('test_dot_matrix_t_float64')) s.addTest(test_linalg('test_dot_matrix_t_complex128')) s.addTest(test_linalg('test_dot_matrix_h_complex128')) s.addTest(test_linalg('test_dot_vector_float64')) s.addTest(test_linalg('test_dot_vector_complex128')) s.addTest(test_linalg('test_mdot_matrix_float64')) s.addTest(test_linalg('test_mdot_matrix_complex128')) s.addTest(test_linalg('test_dot_diag_float64')) s.addTest(test_linalg('test_dot_diag_complex128')) s.addTest(test_linalg('test_dot_diag_t_float64')) s.addTest(test_linalg('test_dot_diag_t_complex128')) s.addTest(test_linalg('test_transpose_float64')) s.addTest(test_linalg('test_transpose_complex128')) s.addTest(test_linalg('test_hermitian_float64')) s.addTest(test_linalg('test_hermitian_complex64')) s.addTest(test_linalg('test_conj_complex128')) s.addTest(test_linalg('test_diag_float64')) s.addTest(test_linalg('test_diag_complex128')) s.addTest(test_linalg('test_eye_float64')) s.addTest(test_linalg('test_eye_complex128')) s.addTest(test_linalg('test_pinv_float64')) s.addTest(test_linalg('test_pinv_complex128')) s.addTest(test_linalg('test_tril_float64')) s.addTest(test_linalg('test_tril_complex128')) s.addTest(test_linalg('test_multiply_float64')) s.addTest(test_linalg('test_multiply_complex128')) return s