Improve reduce_on_gpu kernel for nvidia devices + creation of a SMA example

Improve reduce_on_gpu kernel for nvidia device.
Creation of a SMA example