   {
     // put this in its own scope so that ref's storage gets deallocated
     // before we measure performance
-    container ref(n, a * 1.f + 2.f);
+    Container ref(n, a * 1.f + 2.f);
     assert(ref == z);
   }
 
   // ensure everything migrates back to the GPU before timing
   saxpy(exec, n, a, view(x), view(y), view(z));
-
-  std::cout << "Measuring performance..." << std::endl;
 
   // time a number of trials
   size_t num_trials = 20;

  double bandwidth = gigabytes / seconds;

  std::cout << "SAXPY Bandwidth: " << bandwidth << " GB/s" << std::endl;

  return 0;
}

}


template<class Container>
void time_saxpy()
{
  using namespace agency;
  using namespace agency::experimental;

  cuda::multidevice_executor exec;

  size_t n = 32 << 20;
  Container x(n, 1.f), y(n, 2.f), z(n);
  float a = 13.;

  saxpy(exec, n, a, view(x), view(y), view(z));
