// Original CPU teaching model; not a device simulator or benchmark.
#include <iostream>
#include <vector>
#include <stdexcept>

void require(bool ok) { if (!ok) throw std::runtime_error("model check failed"); }

int main() {
 const std::vector<int> host{2,4,6,8,10};
 auto model=host; for(int& x:model) ++x;
 const auto result=model;
 require(host.front()==2 && result==std::vector<int>({3,5,7,9,11}));
 std::cout<<"host="<<host.front()<<"\nresult=";
 for(std::size_t i=0;i<result.size();++i) std::cout<<(i?" ":"")<<result[i];
 std::cout<<'\n';
}

