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;
}
Esempio n. 2
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);
 }