|
| 1 | +using Adapt |
| 2 | + |
1 | 3 | @testset "array" begin |
2 | 4 | x = sprand(m,0.2) |
3 | 5 | d_x = CuSparseVector(x) |
|
366 | 368 | let A = sprand(Float64, m, n, 0.2) |
367 | 369 | @test CuSparseMatrixCSC(A) isa CuSparseMatrixCSC{Float64} |
368 | 370 | end |
| 371 | + |
| 372 | + @testset "adapt" begin |
| 373 | + # CPU sparse array to specific GPU sparse array |
| 374 | + let A = sprand(Float64, m, n, 0.2) |
| 375 | + @test Adapt.adapt(CuSparseMatrixCSC, A) isa CuSparseMatrixCSC{Float64} |
| 376 | + @test Adapt.adapt(CuSparseMatrixCSR, A) isa CuSparseMatrixCSR{Float64} |
| 377 | + @test Adapt.adapt(CuSparseMatrixCOO, A) isa CuSparseMatrixCOO{Float64} |
| 378 | + @test Adapt.adapt(CuSparseMatrixCSC{Float32}, A) isa CuSparseMatrixCSC{Float32} |
| 379 | + @test Adapt.adapt(CuSparseMatrixCSR{Float32}, A) isa CuSparseMatrixCSR{Float32} |
| 380 | + @test Adapt.adapt(CuSparseMatrixCOO{Float32}, A) isa CuSparseMatrixCOO{Float32} |
| 381 | + end |
| 382 | + let v = sprand(Float64, m, 0.2) |
| 383 | + @test Adapt.adapt(CuSparseVector, v) isa CuSparseVector{Float64} |
| 384 | + @test Adapt.adapt(CuSparseVector{Float32}, v) isa CuSparseVector{Float32} |
| 385 | + end |
| 386 | + |
| 387 | + # CuArray target keeps defaults |
| 388 | + let A = sprand(Float64, m, n, 0.2) |
| 389 | + @test Adapt.adapt(CuArray, A) isa CuSparseMatrixCSC{Float64} |
| 390 | + @test Adapt.adapt(CuArray{Float32}, A) isa CuSparseMatrixCSC{Float32} |
| 391 | + end |
| 392 | + let v = sprand(Float64, m, 0.2) |
| 393 | + @test Adapt.adapt(CuArray, v) isa CuSparseVector{Float64} |
| 394 | + @test Adapt.adapt(CuArray{Float32}, v) isa CuSparseVector{Float32} |
| 395 | + end |
| 396 | + end |
369 | 397 | end |
0 commit comments