     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); }
+    { cusp::array2d<ValueType, cusp::host_memory> temp; cusp::io::read_matrix_market_file(temp, "x.mtx"); temp.values.swap(x); }
+    { cusp::array2d<ValueType, cusp::host_memory> temp; cusp::io::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";
 

        std::cout << "\n----------- benchmarking CG -----------\n";
        // compute residual
        cusp::array1d<ValueType, cusp::host_memory> r(A.num_rows,0);
        A.multiply(x,r);
        cusp::blas::axpy(b, r, ValueType(-1.0));

        ValueType residual_norm = cusp::blas::nrm2(r);

    const size_t num_iterations = 500;

    for(size_t i = 0; i < num_iterations; i++)
        cusp::multiply(A, x, y);

    float time = t.seconds_elapsed() / num_iterations;
    float GFLOPs = (time == 0) ? 0 : (2 * A.num_entries / time) / 1e9;
