Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions cpp/src/dual_simplex/cusparse_view.cu
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,10 @@ cusparse_view_t<i_t, f_t>::cusparse_view_t(raft::handle_t const* handle_ptr,
d_minus_one_(f_t(-1), handle_ptr->get_stream()),
d_zero_(f_t(0), handle_ptr->get_stream())
{
RAFT_CUBLAS_TRY(raft::linalg::detail::cublassetpointermode(
handle_ptr->get_cublas_handle(), CUBLAS_POINTER_MODE_DEVICE, handle_ptr->get_stream()));
RAFT_CUSPARSE_TRY(raft::sparse::detail::cusparsesetpointermode(
handle_ptr->get_cusparse_handle(), CUSPARSE_POINTER_MODE_DEVICE, handle_ptr->get_stream()));
// TMP matrix data should already be on the GPU
constexpr bool debug = false;
if (debug) { printf("A hash: %zu\n", A.hash()); }
Expand Down
3 changes: 1 addition & 2 deletions cpp/src/linear_programming/solve.cu
Original file line number Diff line number Diff line change
Expand Up @@ -672,9 +672,8 @@ optimization_problem_solution_t<i_t, f_t> run_concurrent(
// Initialize the dual simplex structures before we run PDLP.
// Otherwise, CUDA API calls to the problem stream may occur in both threads and throw graph
// capture off
auto barrier_handle = raft::handle_t(*op_problem.get_handle_ptr());
rmm::cuda_stream_view barrier_stream = rmm::cuda_stream_per_thread;
raft::resource::set_cuda_stream(barrier_handle, barrier_stream);
auto barrier_handle = raft::handle_t(barrier_stream);
// Make sure allocations are done on the original stream
problem.handle_ptr->sync_stream();

Expand Down