Skip to content

Commit ffb5fad

Browse files
committed
fix cuda bug
1 parent 0aa6afd commit ffb5fad

File tree

2 files changed

+25
-10
lines changed

2 files changed

+25
-10
lines changed

src/cuda.jl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ end
1616

1717
function _init_reg(::Type{T}, lt::MaskedSquareLattice, ::Val{:true}) where T
1818
nbit = size(lt, 2) + 2
19-
state = CUDA.zeros(T, 1<<nbit)
20-
fill!(view(state,1:1<<(nbit-2)), one(T))
19+
state = CUDA.ones(T, 1<<nbit)
2120
ArrayReg(state)
2221
end
2322

test/cuda.jl

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,33 @@ CUDA.allowscalar(false)
1313
end
1414

1515
@testset "spinglass" begin
16-
lt = SquareLattice(10, 10)
17-
sg = Spinglass(lt, ones(Float32, 180), zeros(Float32, 100))
18-
res = solve(sg; usecuda=true)
19-
@test res.n == 180
16+
for i=1:10
17+
lt = SquareLattice(10, 10)
18+
sg = Spinglass(lt, randn(Float32, 180), zeros(Float32, 100))
19+
res = solve(sg; usecuda=true)
20+
res0 = solve(sg; usecuda=false)
21+
@test res.n == res0.n
22+
end
23+
end
24+
25+
@testset "masked square" begin
26+
for i=1:10
27+
lt = rand_maskedsquare(5, 5, 0.7)
28+
sg = Spinglass(lt, randn(Float32, length(sgbonds(lt))), zeros(Float32, length(lt)))
29+
res = solve(sg; usecuda=true)
30+
res0 = solve(sg; usecuda=false)
31+
@test res.n == res0.n
32+
end
2033
end
2134

2235
@testset "test Chimera" begin
23-
lt = ChimeraLattice(3, 3)
24-
sg = Spinglass(lt, ones(Float32, 12*4 + 9*16), zeros(Float32, 9*8))
25-
res = solve(sg; usecuda=true)
26-
@test res.n == 12*4 + 9*16
36+
for i=1:10
37+
lt = ChimeraLattice(3, 3)
38+
sg = Spinglass(lt, randn(Float32, 12*4 + 9*16), zeros(Float32, 9*8))
39+
res = solve(sg; usecuda=true)
40+
res0 = solve(sg; usecuda=false)
41+
@test res.n == res0.n
42+
end
2743
end
2844

2945
@testset "forwarddiff-gpu" begin

0 commit comments

Comments
 (0)