Skip to content

Commit

Permalink
Merge pull request #539 from JuliaParallel/jps/datadeps-gpu-fixes
Browse files Browse the repository at this point in the history
Minor fixes to Datadeps for GPUs
  • Loading branch information
jpsamaroo authored Jun 26, 2024
2 parents 6b10054 + 7aa0dc5 commit 21997f1
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/array/cholesky.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ LinearAlgebra.cholcopy(A::DArray{T,2}) where T = copy(A)
function potrf_checked!(uplo, A, info_arr)
_A, info = move(thunk_processor(), LAPACK.potrf!)(uplo, A)
if info != 0
info_arr[1] = info
fill!(info_arr, info)
throw(PosDefException(info))
end
return _A, info
Expand Down
6 changes: 6 additions & 0 deletions src/datadeps.jl
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,13 @@ function distribute_tasks!(queue::DataDepsTaskQueue)
filter!(proc->!isa(constrain(ExactScope(proc), scope),
InvalidScope),
all_procs)
if isempty(all_procs)
throw(Sch.SchedulingException("No processors available, try widening scope"))
end
exec_spaces = unique(vcat(map(proc->collect(memory_spaces(proc)), all_procs)...))
if !all(space->space isa CPURAMMemorySpace, exec_spaces) && !all(space->root_worker_id(space) == myid(), exec_spaces)
@warn "Datadeps support for multi-GPU, multi-worker is currently broken\nPlease be prepared for incorrect results or errors" maxlog=1
end

# Round-robin assign tasks to processors
upper_queue = get_options(:task_queue)
Expand Down

0 comments on commit 21997f1

Please sign in to comment.