Hi,
The CPU operations are synchronous. Only the GPU operations are asynchronous.
The full reduction returns a number, and to be able to return this number, it has to wait for the computation to be done.