BTW: I was using HPX commit a725d04b0d9ed7c846310c20a259c8bbfc643661.

Best
-Andreas


On 10:00 Tue 20 Oct     , Hartmut Kaiser wrote:
> 
> > the lockup in hpx::register_with_basename() is back for me. The
> > attached code (slightly modified from the previous example) deadlocks
> > on my notebook every time (10/10 tries).
> > 
> > Any idea on how to fix this? Thomas suggested previously that
> > prefixing basenames with "/0" would fix the deadlock, but now it's
> > actually making the deadlock worse (from 30% deadlocks up to 100%).
> 
> Perfect. This might be reproducible for me now. I'll try asap.
> 
> Regards Hartmut
> ---------------
> http://boost-spirit.com
> http://stellar.cct.lsu.edu
> 
> > 
> > Cheers
> > -Andreas
> > 
> > 
> > On 08:35 Tue 15 Sep     , Andreas Schäfer wrote:
> > > Dear all,
> > >
> > > I've been debugging a deadlock in LibGeoDecomp's HPX backend. Attached
> > > is a minimal program which reproduces the deadlock (8/10 runs won't
> > > terminate), but comes without any LibGeoDecomp-specific ballast.Does
> > > the code deadlock for anyone else besides me? Is it expected to lock
> > > up?
> > >
> > > I've been using HPX master (a1778309a559d866bc48e4b8a8edfb47982a7225)
> > > together with OpenMPI 1.8.8. Please find an execution log below:
> > >
> > > > gentryx@neuromancer ~ $ g++-4.9.3 -O3 -march=native test.cpp -
> > std=c++14 -o test -Ilocal_install/include/ -
> > Ilocal_install/include/hpx/external -Llocal_install/lib -lhpx -lhpx_init -
> > lboost_program_options -lboost_system -lboost_thread
> > > > gentryx@neuromancer ~ $ LD_LIBRARY_PATH=local_install/lib mpirun -np 4
> > ./test
> > > > registration: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/1-0
> > > > registration: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/2-0
> > > > registration: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/0-1
> > > > registration: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/0-2
> > > > registration: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/0-3
> > > > registration: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/3-0
> > > > registration: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/1-3
> > > > registration: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/2-1
> > > > registration: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/3-1
> > > > lookup: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/0-1
> > > > registration: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/1-2
> > > > lookup: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/0-2
> > > > registration: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/2-3
> > > > registration: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/3-2
> > > > lookup: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/0-3
> > > > lookup: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/1-0
> > > > lookup: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/3-0
> > > > all done 0
> > > > lookup: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/3-1
> > > > lookup: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/3-2
> > > > all done 3
> > > > lookup: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/2-0
> > > > lookup: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/1-2
> > > > lookup: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/1-3
> > > > all done 1
> > > > lookup: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/2-1
> > > > lookup: HPXSimulatorUpdateGroupSdfafafasdasd/PatchLink/2-3
> > > > all done 2
> > > > ^C
> > >
> > > Thanks!
> > > -Andreas
> > >
> > >
> > > --
> > > ==========================================================
> > > Andreas Schäfer
> > > HPC and Grid Computing
> > > Department of Computer Science 3
> > > Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany
> > > +49 9131 85-27910
> > > PGP/GPG key via keyserver
> > > http://www.libgeodecomp.org
> > > ==========================================================
> > >
> > > (\___/)
> > > (+'.'+)
> > > (")_(")
> > > This is Bunny. Copy and paste Bunny into your
> > > signature to help him gain world domination!
> > 
> > > #include <hpx/lcos/broadcast.hpp>
> > > #include <hpx/lcos/local/receive_buffer.hpp>
> > > #include <hpx/runtime/get_ptr.hpp>
> > > #include <hpx/hpx_init.hpp>
> > > #include <hpx/hpx.hpp>
> > > #include <iostream>
> > > #include <boost/shared_ptr.hpp>
> > > #include <vector>
> > >
> > > static std::string itoa(int i)
> > > {
> > >     std::stringstream buf;
> > >     buf << i;
> > >     return buf.str();
> > > }
> > >
> > > struct test_server
> > >   : hpx::components::simple_component_base<test_server>
> > > {
> > >     test_server()
> > >     {}
> > >
> > >     hpx::id_type call() const
> > >     {
> > >         return hpx::find_here();
> > >     }
> > >     HPX_DEFINE_COMPONENT_ACTION(test_server, call, call_action);
> > > };
> > >
> > > typedef hpx::components::simple_component<test_server> server_type;
> > > HPX_REGISTER_COMPONENT(server_type, test_server);
> > >
> > > typedef test_server::call_action call_action;
> > > HPX_REGISTER_ACTION(call_action);
> > >
> > > std::string genName(int source, int target)
> > > {
> > >     std::string basename = "HPXSimulatorUpdateGroupSdfafafasdasd";
> > >
> > >     return basename + "/PatchLink/" +
> > >         itoa(source) + "-" +
> > >         itoa(target);
> > > }
> > >
> > > void testBar()
> > > {
> > >     int rank = hpx::get_locality_id();
> > >
> > >     std::vector<hpx::id_type> boundingBoxReceivers;
> > >     std::vector<hpx::id_type> boundingBoxAccepters;
> > >     for (int i = 0; i < 4; ++i) {
> > >         if (i == rank)
> > >             continue;
> > >
> > >         std::string name = genName(i, rank);
> > >         std::cout << "registration: " << name << "\n";
> > >
> > >         hpx::id_type id =
> > hpx::new_<test_server>(hpx::find_here()).get();
> > >         hpx::register_with_basename(name, id, 0).get();
> > >         boundingBoxReceivers.push_back(id);
> > >     }
> > >
> > >     for (int i = 0; i < 4; ++i) {
> > >         if (i == rank)
> > >             continue;
> > >
> > >         std::string name = genName(rank, i);
> > >         std::cout << "lookup: " << name << "\n";
> > >         std::vector<hpx::future<hpx::id_type> > ids =
> > hpx::find_all_from_basename(name, 1);
> > >         boundingBoxAccepters.push_back(std::move(ids[0].get()));
> > >     }
> > >
> > >     std::cout << "all done " << rank << "\n";
> > > }
> > >
> > > int hpx_main(int argc, char **argv)
> > > {
> > >     testBar();
> > >     return hpx::finalize();
> > > }
> > >
> > > int main(int argc, char **argv)
> > > {
> > >     // We want HPX to run hpx_main() on all localities to avoid the
> > >     // initial overhead caused by broadcasting the work from one to
> > >     // all other localities:
> > >     std::vector<std::string> config(1, "hpx.run_hpx_main!=1");
> > >
> > >     return hpx::init(argc, argv, config);
> > > }
> > 
> > 
> > 
> > 
> > > _______________________________________________
> > > hpx-users mailing list
> > > [email protected]
> > > https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
> > 
> > 
> > --
> > ==========================================================
> > Andreas Schäfer
> > HPC and Grid Computing
> > Department of Computer Science 3
> > Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany
> > +49 9131 85-27910
> > PGP/GPG key via keyserver
> > http://www.libgeodecomp.org
> > ==========================================================
> > 
> > (\___/)
> > (+'.'+)
> > (")_(")
> > This is Bunny. Copy and paste Bunny into your
> > signature to help him gain world domination!
> 
> _______________________________________________
> hpx-users mailing list
> [email protected]
> https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

-- 
==========================================================
Andreas Schäfer
HPC and Grid Computing
Department of Computer Science 3
Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany
+49 9131 85-27910
PGP/GPG key via keyserver
http://www.libgeodecomp.org
==========================================================

(\___/)
(+'.'+)
(")_(")
This is Bunny. Copy and paste Bunny into your
signature to help him gain world domination!

Attachment: signature.asc
Description: Digital signature

_______________________________________________
hpx-users mailing list
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to