@@ -320,7 +320,9 @@ function Waitall!(reqs::Array{Request,1})
320
320
reqs[i]. val = reqvals[i]
321
321
reqs[i]. buffer = nothing
322
322
stats[i] = Status ()
323
- stats[i]. val[:] = statvals[:,i]
323
+ for v in 1 : MPI_STATUS_SIZE
324
+ stats[i]. val[v] = statvals[v,i]
325
+ end
324
326
end
325
327
stats
326
328
end
@@ -341,7 +343,9 @@ function Testall!(reqs::Array{Request,1})
341
343
reqs[i]. val = reqvals[i]
342
344
reqs[i]. buffer = nothing
343
345
stats[i] = Status ()
344
- stats[i]. val[:] = statvals[:,i]
346
+ for v in 1 : MPI_STATUS_SIZE
347
+ stats[i]. val[v] = statvals[v,i]
348
+ end
345
349
end
346
350
(true , stats)
347
351
end
@@ -354,7 +358,7 @@ function Waitany!(reqs::Array{Request,1})
354
358
ccall (MPI_WAITANY, Void,
355
359
(Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}),
356
360
& count, reqvals, index, statvals, & 0 )
357
- index = ind[]
361
+ index = Int ( ind[])
358
362
reqs[index]. val = reqvals[index]
359
363
reqa[index]. buffer = nothing
360
364
(index, stat)
@@ -372,7 +376,7 @@ function Testany!(reqs::Array{Request,1})
372
376
if flag[] == 0
373
377
return (false , 0 , nothing )
374
378
end
375
- index = ind[]
379
+ index = Int ( ind[])
376
380
reqs[index]. val = reqvals[index]
377
381
reqs[index]. buffer = nothing
378
382
(true , index, stat)
@@ -387,20 +391,22 @@ function Waitsome!(reqs::Array{Request,1})
387
391
ccall (MPI_WAITSOME, Void,
388
392
(Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}),
389
393
& count, reqvals, outcnt, inds, statvals, & 0 )
390
- outcount = outcnt[]
394
+ outcount = Int ( outcnt[])
391
395
# This can happen if there were no valid requests
392
- if outcount == MPI_UNDEFINED
396
+ if outcount == UNDEFINED
393
397
outcount = 0
394
398
end
395
399
indices = Array (Int, outcount)
396
400
stats = Array (Status, outcount)
397
401
for i in 1 : outcount
398
- ind = inds[i]
402
+ ind = Int ( inds[i])
399
403
reqs[ind]. val = reqvals[ind]
400
404
reqs[ind]. buffer = nothing
401
405
indices[i] = inds[i]
402
406
stats[i] = Status ()
403
- stats[i]. val[:] = statvals[:,i]
407
+ for v in 1 : MPI_STATUS_SIZE
408
+ stats[i]. val[v] = statvals[v,i]
409
+ end
404
410
end
405
411
(indices, stats)
406
412
end
@@ -416,18 +422,20 @@ function Testsome!(reqs::Array{Request,1})
416
422
& count, reqvals, outcnt, inds, statvals, & 0 )
417
423
outcount = outcnt[]
418
424
# This can happen if there were no valid requests
419
- if outcount == MPI_UNDEFINED
425
+ if outcount == UNDEFINED
420
426
outcount = 0
421
427
end
422
428
indices = Array (Int, outcount)
423
429
stats = Array (Status, outcount)
424
430
for i in 1 : outcount
425
- ind = inds[i]
431
+ ind = Int ( inds[i])
426
432
reqs[ind]. val = reqvals[ind]
427
433
reqs[ind]. buffer = nothing
428
434
indices[i] = inds[i]
429
435
stats[i] = Status ()
430
- stats[i]. val[:] = statvals[:,i]
436
+ for v in 1 : MPI_STATUS_SIZE
437
+ stats[i]. val[v] = statvals[v,i]
438
+ end
431
439
end
432
440
(indices, stats)
433
441
end
0 commit comments