Newer
Older
# Conjugate Gradients
## Description
This example is an adaptation from the conjugateGradientCudaGraphs CUDA sample that can be found in
[NVIDIA's github](https://github.com/NVIDIA/cuda-samples) using OmpSs-2. It is meant to display
how one can use cuBLAS and other CUDA libraries by leveraging the `nanos6_get_current_cuda_stream()` API call.
It also uses the *delayed taskwait* pattern, by which each iteration checks if the previous one converged, to prevent having to use
a full taskwait in every iteration to check for convergence.
## Execution instructions
This benchmark can only be executed in an environment with one GPU device (no support for multiple GPUs),
and with a CUDA installation which supports unified memory and has the cuBLAS and cuSPARSE libraries.
To run the program use:
```
make run
```
The previous command will also build the program in case it is not already.