         void           *y, int ldy);
 
     template<typename dt1, typename dt2>
-static ghost_error_t ghost_cu_sell1spmv_tmpl(ghost_sparsemat_t *mat, ghost_densemat_t * lhs, ghost_densemat_t *origlhs, ghost_densemat_t * rhs, ghost_spmv_flags_t options, va_list argp, cusparse_sell1_spmv_kernel_t sell1kernel)
-{
+static ghost_error_t ghost_cu_sell1spmv_tmpl(ghost_sparsemat_t *mat, ghost_densemat_t * lhs, ghost_densemat_t * rhs, ghost_spmv_flags_t options, va_list argp, cusparse_sell1_spmv_kernel_t sell1kernel)
+{
+    GHOST_FUNC_ENTER(GHOST_FUNCTYPE_MATH);
     cusparseHandle_t cusparse_handle;
     cusparseMatDescr_t descr;
 
     cusparseCreateMatDescr(&descr);
     GHOST_CALL_RETURN(ghost_cu_cusparse_handle(&cusparse_handle));
 
-    dt2 *localdot = NULL;
-    dt1 *shift = NULL, scale, beta, sdelta, seta;
-    ghost_densemat_t *z = NULL;
+    dt2 * __attribute__((unused)) localdot = NULL;
+    dt1 * __attribute__((unused)) shift = NULL, scale, beta, __attribute__((unused)) sdelta, __attribute__((unused)) seta;
+    ghost_densemat_t * __attribute__((unused)) z = NULL;
 
     one<dt1>(scale);
 

    }
    
    CUSPARSE_CALL_RETURN(sell1kernel(cusparse_handle,CUSPARSE_OPERATION_NON_TRANSPOSE,mat->nrows,mat->ncols,mat->nnz,&scale,descr,(dt1 *)SELL(mat)->cumat->val, SELL(mat)->cumat->chunkStart, SELL(mat)->cumat->col, (dt1 *)rhs->cu_val, &beta, (dt1 *)lhs->cu_val));
    
    if (options & (GHOST_SPMV_SHIFT|GHOST_SPMV_VSHIFT)) {
        PERFWARNING_LOG("Shift will not be applied on-the-fly!");
        dt2 minusshift[rhs->traits.ncols];

        }
        lhs->vaxpy(lhs,rhs,minusshift);
    }
    
    if (options & GHOST_SPMV_DOT_ANY) {
        PERFWARNING_LOG("Dot product computation will be not be done on-the-fly!");
        memset(localdot,0,lhs->traits.ncols*3*sizeof(dt1));
