::dealii::LinearAlgebra::CUDAWrappers::kernel::set<Number>
<<<n_blocks, block_size>>>(data.values_dev.get(), s, size);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
static void
v_data.values_dev.get(),
size);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
static void
v_data.values_dev.get(),
size);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
static void
::dealii::LinearAlgebra::CUDAWrappers::kernel::vec_add<Number>
<<<n_blocks, block_size>>>(data.values_dev.get(), a, size);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
static void
v_data.values_dev.get(),
size);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
static void
w_data.values_dev.get(),
size);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
static void
<<<dim3(n_blocks, 1), dim3(block_size)>>>(
x, data.values_dev.get(), 1., v_data.values_dev.get(), size);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
static void
<<<dim3(n_blocks, 1), dim3(block_size)>>>(
x, data.values_dev.get(), a, v_data.values_dev.get(), size);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
static void
w_data.values_dev.get(),
size);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
static void
::dealii::LinearAlgebra::CUDAWrappers::kernel::vec_scale<Number>
<<<n_blocks, block_size>>>(data.values_dev.get(), factor, size);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
static void
v_data.values_dev.get(),
size);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
static void
v_data.values_dev.get(),
size);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
static void
w_data.values_dev.get(),
size);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
static Number
internal::scale<Number>
<<<n_blocks, block_size>>>(val_dev.get(), factor, nnz);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
return *this;
}
internal::scale<Number>
<<<n_blocks, block_size>>>(val_dev.get(), 1. / factor, nnz);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
return *this;
}
column_index_dev.get(),
row_ptr_dev.get(),
column_sums.get_values());
+
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
return column_sums.linfty_norm();
}
column_index_dev.get(),
row_ptr_dev.get(),
row_sums.get_values());
+
+# ifdef DEUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
return row_sums.linfty_norm();
}
kernel::vector_bin_op<Number, kernel::Binop_Addition>
<<<n_blocks, block_size>>>(val.get(), tmp, n_elements);
+
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
// Delete the temporary vector
Utilities::CUDA::free(tmp);
kernel::vec_scale<Number>
<<<n_blocks, block_size>>>(val.get(), factor, n_elements);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
return *this;
}
kernel::vec_scale<Number>
<<<n_blocks, block_size>>>(val.get(), 1. / factor, n_elements);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
return *this;
}
kernel::vector_bin_op<Number, kernel::Binop_Addition>
<<<n_blocks, block_size>>>(val.get(), down_V.val.get(), n_elements);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
return *this;
}
kernel::vector_bin_op<Number, kernel::Binop_Subtraction>
<<<n_blocks, block_size>>>(val.get(), down_V.val.get(), n_elements);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
return *this;
}
kernel::vec_add<Number>
<<<n_blocks, block_size>>>(val.get(), a, n_elements);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
kernel::add_aV<Number><<<dim3(n_blocks, 1), dim3(block_size)>>>(
val.get(), a, down_V.val.get(), n_elements);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
kernel::add_aVbW<Number><<<dim3(n_blocks, 1), dim3(block_size)>>>(
val.get(), a, down_V.val.get(), b, down_W.val.get(), n_elements);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
kernel::sadd<Number><<<dim3(n_blocks, 1), dim3(block_size)>>>(
s, val.get(), a, down_V.val.get(), n_elements);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
kernel::scale<Number><<<dim3(n_blocks, 1), dim3(block_size)>>>(
val.get(), down_scaling_factors.val.get(), n_elements);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}
kernel::equ<Number><<<dim3(n_blocks, 1), dim3(block_size)>>>(
val.get(), a, down_V.val.get(), n_elements);
+# ifdef DEBUG
// Check that the kernel was launched correctly
AssertCuda(cudaGetLastError());
// Check that there was no problem during the execution of the kernel
AssertCuda(cudaDeviceSynchronize());
+# endif
}