int main() { using vector_type = hpx::partitioned_vector<double>; const std::size_t size_x = 32; const std::size_t size_y = 4; const std::size_t size_z = hpx::get_num_localities(hpx::launch::sync); const std::size_t elt_size = 4; const std::size_t num_partitions = size_x*size_y*size_z; std::size_t raw_size = num_partitions*elt_size; vector_type my_vector(raw_size, hpx::container_layout( num_partitions, hpx::find_all_localities() )); std::string vec_name("my_vector"); my_vector.register_as(hpx::launch::sync, vec_name); hpx::future<void> join = hpx::lcos::define_spmd_block("block", 4, bulk_test_action(), size_x, size_y, size_z, elt_size, vec_name); join.get(); return 0; }
inline void invalid_argument_vec(const char* function, const char* name, const T& y, const size_t i, const char* msg1, const char* msg2) { std::ostringstream vec_name_stream; vec_name_stream << name << "[" << stan::error_index::value + i << "]"; std::string vec_name(vec_name_stream.str()); invalid_argument(function, vec_name.c_str(), stan::get(y, i) , msg1, msg2); }