|
1 | 1 | module BlockStructuredSolvers |
2 | 2 |
|
3 | | -# CPU BLAS/LAPACK operations |
4 | | -import LinearAlgebra.BLAS: gemm! as lagemm! |
5 | | -import LinearAlgebra.BLAS: trsm! as latrsm! |
6 | | -import LinearAlgebra.LAPACK: potrf! as lapotrf! |
7 | | -import LinearAlgebra: norm as lanorm |
| 3 | +# Import |
8 | 4 | import LinearAlgebra: I |
9 | | - |
10 | | -# GPU BLAS/LAPACK operations |
11 | | -import CUDA.CUBLAS: gemm! as cugemm! |
12 | | -import CUDA.CUBLAS: trsm! as cutrsm! |
13 | | -import CUDA.CUSOLVER: potrf! as cupotrf! |
14 | | -import CUDA: norm as cunorm |
15 | | - |
16 | | -# CUDA types |
17 | | -import CUDA: StridedCuMatrix, CuMatrix, CuArray, zeros |
18 | | -import CUDA.CUBLAS: gemm_batched!, trsm_batched!, cublasDgemmBatched |
19 | | -import CUDA.CUSOLVER: potrfBatched!, unchecked_cusolverDnDpotrfBatched |
20 | | - |
21 | | -# SparseArrays |
22 | | -import SparseArrays: SparseMatrixCSC |
23 | | -using CUDA |
| 5 | +import CUDA: @allowscalar |
| 6 | +import AMDGPU: @allowscalar |
24 | 7 |
|
25 | 8 | # Export functions |
26 | | -export _bss_norm |
27 | 9 | export BlockTriDiagData_cpu, BlockTriDiagData_seq, BlockTriDiagData_batched |
28 | | -export initialize_cpu, initialize_seq, initialize_batched, factorize!, solve! |
| 10 | +export initialize_cpu, initialize_seq, initialize_batched |
| 11 | +export factorize!, solve! |
29 | 12 |
|
30 | | -# Include files |
31 | | -include("myBLAS.jl") |
| 13 | +# Include backbone files |
32 | 14 | include("backbone_cpu.jl") |
33 | 15 | include("backbone_cuda.jl") |
34 | 16 | include("backbone_rocm.jl") |
| 17 | + |
| 18 | +# Include solver files |
35 | 19 | include("cpu.jl") |
36 | 20 | include("gpu_seq.jl") |
37 | 21 | include("gpu_batched.jl") |
|
0 commit comments