Can anyone confirm me or deny, if using cudaEvents is good approach for timing execution of CUSPARSE library functions, such as cusparseScsrmv(), cusparseScsrsv_analysis() and cusparseScsrsv_solve().

I have iterative loop, and in each iteration several invocations of these functions are done. Is the timing correct, if I record cudaEvent at the beginning of the loop, and once more after the loop?

I read that cudaevents are good for memory copies from Host to Device (and vice versa), and for kernels executions, but does it also stand for CUSPARSE library functions?