text: //////////////////////////////////////////////////////////////////////////////
  // Copyright (c) 2018, Lawrence Livermore National Security, LLC.
  // Produced at the Lawrence Livermore National Laboratory
  //
  // Created by David Beckingsale, david@llnl.gov
  // LLNL-CODE-747640
  //
  // All rights reserved.
  //
  // This file is part of Umpire.
  //
  // For details, see https://github.com/LLNL/Umpire
  // Please also see the LICENSE file for MIT license.
  //////////////////////////////////////////////////////////////////////////////
  #include "umpire/Allocator.hpp"
  #include "umpire/ResourceManager.hpp"
  
  int main(int, char**) {
  
    constexpr size_t SIZE = 1024;
  
    auto& rm = umpire::ResourceManager::getInstance();
  
    umpire::Allocator allocator = rm.getAllocator("HOST");
  
    double* data = static_cast<double*>(
        allocator.allocate(SIZE*sizeof(double)));
  
    std::cout << "Allocated " << (SIZE*sizeof(double)) << " bytes using the "
      << allocator.getName() << " allocator...";
  
    allocator.deallocate(data);
  
    std::cout << " deallocated." << std::endl;
  
    return 0;
  }
  