File tree Expand file tree Collapse file tree 2 files changed +81
-4
lines changed Expand file tree Collapse file tree 2 files changed +81
-4
lines changed Original file line number Diff line number Diff line change @@ -54,14 +54,14 @@ function LinearSolve.init_cacheval(alg::PardisoJL,
54
54
55
55
# pass in vector of tuples like [(iparm::Int, key::Int) ...]
56
56
if iparm != = nothing
57
- for i in length ( iparm)
58
- Pardiso. set_iparm! (solver, iparm[i] . .. )
57
+ for i in iparm
58
+ Pardiso. set_iparm! (solver, i ... )
59
59
end
60
60
end
61
61
62
62
if dparm != = nothing
63
- for i in length ( dparm)
64
- Pardiso. set_dparm! (solver, dparm[i] . .. )
63
+ for d in dparm
64
+ Pardiso. set_dparm! (solver, d ... )
65
65
end
66
66
end
67
67
Original file line number Diff line number Diff line change @@ -52,3 +52,80 @@ sol33 = solve(linsolve)
52
52
@test sol11. u ≈ sol31. u
53
53
@test sol12. u ≈ sol32. u
54
54
@test sol13. u ≈ sol33. u
55
+
56
+ # Testing and demonstrating Pardiso.set_iparm! for MKLPardisoSolver
57
+ solver = Pardiso. MKLPardisoSolver ()
58
+ iparm = [
59
+ (1 , 1 ),
60
+ (2 , 2 ),
61
+ (3 , 0 ),
62
+ (4 , 0 ),
63
+ (5 , 0 ),
64
+ (6 , 0 ),
65
+ (7 , 0 ),
66
+ (8 , 20 ),
67
+ (9 , 0 ),
68
+ (10 , 13 ),
69
+ (11 , 1 ),
70
+ (12 , 1 ),
71
+ (13 , 1 ),
72
+ (14 , 0 ),
73
+ (15 , 0 ),
74
+ (16 , 0 ),
75
+ (17 , 0 ),
76
+ (18 , - 1 ),
77
+ (19 , - 1 ),
78
+ (20 , 0 ),
79
+ (21 , 0 ),
80
+ (22 , 0 ),
81
+ (23 , 0 ),
82
+ (24 , 10 ),
83
+ (25 , 0 ),
84
+ (26 , 0 ),
85
+ (27 , 1 ),
86
+ (28 , 0 ),
87
+ (29 , 0 ),
88
+ (30 , 0 ),
89
+ (31 , 0 ),
90
+ (32 , 0 ),
91
+ (33 , 0 ),
92
+ (34 , 0 ),
93
+ (35 , 0 ),
94
+ (36 , 0 ),
95
+ (37 , 0 ),
96
+ (38 , 0 ),
97
+ (39 , 0 ),
98
+ (40 , 0 ),
99
+ (41 , 0 ),
100
+ (42 , 0 ),
101
+ (43 , 0 ),
102
+ (44 , 0 ),
103
+ (45 , 0 ),
104
+ (46 , 0 ),
105
+ (47 , 0 ),
106
+ (48 , 0 ),
107
+ (49 , 0 ),
108
+ (50 , 0 ),
109
+ (51 , 0 ),
110
+ (52 , 0 ),
111
+ (53 , 0 ),
112
+ (54 , 0 ),
113
+ (55 , 0 ),
114
+ (56 , 0 ),
115
+ (57 , 0 ),
116
+ (58 , 0 ),
117
+ (59 , 0 ),
118
+ (60 , 0 ),
119
+ (61 , 0 ),
120
+ (62 , 0 ),
121
+ (63 , 0 ),
122
+ (64 , 0 ),
123
+ ]
124
+
125
+ for i in iparm
126
+ Pardiso. set_iparm! (solver, i... )
127
+ end
128
+
129
+ for i in Base. OneTo (length (iparm))
130
+ @test Pardiso. get_iparm (solver, i) == iparm[i][2 ]
131
+ end
You can’t perform that action at this time.
0 commit comments