added new implementation of gpu sparse operations with custom kernel