     cusp::array1d<ValueType,cusp::device_memory> y(A.num_rows, 0);
     
     // warm up
-    A.multiply(x, y);
+    cusp::multiply(A, x, y);
 
     // benchmark SpMV
     timer t;

    cusp::array1d<ValueType, cusp::host_memory> b;

    cusp::io::read_matrix_market_file(A, "A.mtx");
    { cusp::array2d<ValueType, cusp::host_memory> temp; cusp::read_matrix_market_file(temp, "x.mtx"); temp.values.swap(x); }
    { cusp::array2d<ValueType, cusp::host_memory> temp; cusp::read_matrix_market_file(temp, "b.mtx"); temp.values.swap(b); }
    
    std::cout << "loaded matrix with shape (" << A.num_rows << "," << A.num_cols << ") and " << A.num_entries << " entries" << "\n\n";


#include <cusp/csr_matrix.h>
#include <cusp/io/matrix_market.h>
#include <cusp/blas.h>
#include <cusp/multiply.h>

#include <iostream>
#include <string>
