@@ -231,60 +231,52 @@ for (fname, elty, relty) in ((:cusolverSpScsreigsHost, :ComplexF32, :Float32),
231
231
end
232
232
233
233
# csrsymrcm
234
- function symrcm (A:: SparseMatrixCSC , index:: Char )
234
+ function symrcm (A:: SparseMatrixCSC , index:: Char = ' O ' )
235
235
n, m = size (A)
236
236
(m ≠ m) && throw (DimensionMismatch (" A must be square, but has dimensions ($n ,$m )!" ))
237
237
descA = CuMatrixDescriptor (' G' , ' L' , ' N' , index)
238
238
nnzA = nnz (A)
239
- Mat = similar (A)
240
- transpose! (Mat, A)
241
- colsA = convert (Vector{Cint}, Mat. rowval)
242
- rowsA = convert (Vector{Cint}, Mat. colptr)
239
+ colsA = convert (Vector{Cint}, A. rowval)
240
+ rowsA = convert (Vector{Cint}, A. colptr)
243
241
p = zeros (Cint, n)
244
242
cusolverSpXcsrsymrcmHost (sparse_handle (), n, nnzA, descA, rowsA, colsA, p)
245
243
return p
246
244
end
247
245
248
246
# csrsymmdq
249
- function symmdq (A:: SparseMatrixCSC , index:: Char )
247
+ function symmdq (A:: SparseMatrixCSC , index:: Char = ' O ' )
250
248
n, m = size (A)
251
249
(m ≠ m) && throw (DimensionMismatch (" A must be square, but has dimensions ($n ,$m )!" ))
252
250
descA = CuMatrixDescriptor (' G' , ' L' , ' N' , index)
253
251
nnzA = nnz (A)
254
- Mat = similar (A)
255
- transpose! (Mat, A)
256
- colsA = convert (Vector{Cint}, Mat. rowval)
257
- rowsA = convert (Vector{Cint}, Mat. colptr)
252
+ colsA = convert (Vector{Cint}, A. rowval)
253
+ rowsA = convert (Vector{Cint}, A. colptr)
258
254
p = zeros (Cint, n)
259
255
cusolverSpXcsrsymmdqHost (sparse_handle (), n, nnzA, descA, rowsA, colsA, p)
260
256
return p
261
257
end
262
258
263
259
# csrsymamd
264
- function symamd (A:: SparseMatrixCSC , index:: Char )
260
+ function symamd (A:: SparseMatrixCSC , index:: Char = ' O ' )
265
261
n, m = size (A)
266
262
(m ≠ m) && throw (DimensionMismatch (" A must be square, but has dimensions ($n ,$m )!" ))
267
263
descA = CuMatrixDescriptor (' G' , ' L' , ' N' , index)
268
264
nnzA = nnz (A)
269
- Mat = similar (A)
270
- transpose! (Mat, A)
271
- colsA = convert (Vector{Cint}, Mat. rowval)
272
- rowsA = convert (Vector{Cint}, Mat. colptr)
265
+ colsA = convert (Vector{Cint}, A. rowval)
266
+ rowsA = convert (Vector{Cint}, A. colptr)
273
267
p = zeros (Cint, n)
274
268
cusolverSpXcsrsymamdHost (sparse_handle (), n, nnzA, descA, rowsA, colsA, p)
275
269
return p
276
270
end
277
271
278
272
# csrmetisnd
279
- function metisnd (A:: SparseMatrixCSC , index:: Char )
273
+ function metisnd (A:: SparseMatrixCSC , index:: Char = ' O ' )
280
274
n, m = size (A)
281
275
(m ≠ m) && throw (DimensionMismatch (" A must be square, but has dimensions ($n ,$m )!" ))
282
276
descA = CuMatrixDescriptor (' G' , ' L' , ' N' , index)
283
277
nnzA = nnz (A)
284
- Mat = similar (A)
285
- transpose! (Mat, A)
286
- colsA = convert (Vector{Cint}, Mat. rowval)
287
- rowsA = convert (Vector{Cint}, Mat. colptr)
278
+ colsA = convert (Vector{Cint}, A. rowval)
279
+ rowsA = convert (Vector{Cint}, A. colptr)
288
280
p = zeros (Cint, n)
289
281
cusolverSpXcsrmetisndHost (sparse_handle (), n, nnzA, descA, rowsA, colsA, C_NULL , p)
290
282
return p
@@ -296,16 +288,14 @@ for (fname, elty) in ((:cusolverSpScsrzfdHost, :Float32),
296
288
(:cusolverSpCcsrzfdHost , :ComplexF32 ),
297
289
(:cusolverSpZcsrzfdHost , :ComplexF64 ))
298
290
@eval begin
299
- function zfd (A:: SparseMatrixCSC{$elty} , index:: Char )
291
+ function zfd (A:: SparseMatrixCSC{$elty} , index:: Char = ' O ' )
300
292
n, m = size (A)
301
293
(m ≠ m) && throw (DimensionMismatch (" A must be square, but has dimensions ($n ,$m )!" ))
302
294
descA = CuMatrixDescriptor (' G' , ' L' , ' N' , index)
303
295
nnzA = nnz (A)
304
- Mat = similar (A)
305
- transpose! (Mat, A)
306
- colsA = convert (Vector{Cint}, Mat. rowval)
307
- rowsA = convert (Vector{Cint}, Mat. colptr)
308
- valsA = Mat. nzval
296
+ colsA = convert (Vector{Cint}, A. rowval)
297
+ rowsA = convert (Vector{Cint}, A. colptr)
298
+ valsA = A. nzval
309
299
p = zeros (Cint, n)
310
300
numnz = Ref {Cint} (0 )
311
301
$ fname (sparse_handle (), n, nnzA, descA, valsA, rowsA, colsA, p, numnz)
0 commit comments