Issue #33: Inefficient loop nesting

Statistics for instructions of this issue

Accesses 1.95e+08
Thread Id Accesses
Thread Total 1.95e+08
23408 7.23e+06
23409 0.00e+00
23410 0.00e+00
23413 1.45e+07
23414 0.00e+00
23415 1.45e+07
23416 1.45e+07
23418 1.45e+07
23419 1.45e+07
23420 0.00e+00
23421 2.17e+07
23422 7.23e+06
23423 1.45e+07
23424 1.45e+07
23425 7.23e+06
23426 7.23e+06
23427 7.23e+06
23428 0.00e+00
23429 1.45e+07
23430 1.45e+07
23431 7.23e+06
Fetch/Miss ratio
Write-back ratio
Utilization
% of misses 0.7%
Thread Id % of misses
Thread Total 0.7%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.2%
23420 0.0%
23421 0.2%
23422 0.0%
23423 0.2%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
% of bandwidth 0.9%
Thread Id % of bandwidth
Thread Total 0.9%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.3%
23420 0.0%
23421 0.3%
23422 0.0%
23423 0.3%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
% of fetches 0.7%
Thread Id % of fetches
Thread Total 0.7%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.2%
23420 0.0%
23421 0.2%
23422 0.0%
23423 0.2%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
% of write-backs 1.5%
Thread Id % of write-backs
Thread Total 1.5%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.5%
23420 0.0%
23421 0.5%
23422 0.0%
23423 0.5%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
% of upgrades 0.0%
Thread Id % of upgrades
Thread Total 0.0%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.0%
23420 0.0%
23421 0.0%
23422 0.0%
23423 0.0%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
Miss ratio 10.8%
Thread Id Total Miss ratio Uncategorized Replacement Coherence Flush
Thread Average 10.8% 0.0% 10.8% 0.0% 0.0%
23408 0.0% 0.0% 0.0% 0.0% 0.0%
23409 0.0% 0.0% 0.0% 0.0% 0.0%
23410 0.0% 0.0% 0.0% 0.0% 0.0%
23413 0.0% 0.0% 0.0% 0.0% 0.0%
23414 0.0% 0.0% 0.0% 0.0% 0.0%
23415 0.0% 0.0% 0.0% 0.0% 0.0%
23416 0.0% 0.0% 0.0% 0.0% 0.0%
23418 0.0% 0.0% 0.0% 0.0% 0.0%
23419 50.0% 0.0% 50.0% 0.0% 0.0%
23420 0.0% 0.0% 0.0% 0.0% 0.0%
23421 33.3% 0.0% 33.3% 0.0% 0.0%
23422 0.0% 0.0% 0.0% 0.0% 0.0%
23423 45.7% 0.0% 45.7% 0.0% 0.0%
23424 0.0% 0.0% 0.0% 0.0% 0.0%
23425 0.0% 0.0% 0.0% 0.0% 0.0%
23426 0.0% 0.0% 0.0% 0.0% 0.0%
23427 0.0% 0.0% 0.0% 0.0% 0.0%
23428 0.0% 0.0% 0.0% 0.0% 0.0%
23429 0.0% 0.0% 0.0% 0.0% 0.0%
23430 0.0% 0.0% 0.0% 0.0% 0.0%
23431 0.0% 0.0% 0.0% 0.0% 0.0%
Fetch ratio 10.8%
Thread Id Total Fetch ratio Uncategorized Replacement Coherence Flush
Thread Average 10.8% 0.0% 10.8% 0.0% 0.0%
23408 0.0% 0.0% 0.0% 0.0% 0.0%
23409 0.0% 0.0% 0.0% 0.0% 0.0%
23410 0.0% 0.0% 0.0% 0.0% 0.0%
23413 0.0% 0.0% 0.0% 0.0% 0.0%
23414 0.0% 0.0% 0.0% 0.0% 0.0%
23415 0.0% 0.0% 0.0% 0.0% 0.0%
23416 0.0% 0.0% 0.0% 0.0% 0.0%
23418 0.0% 0.0% 0.0% 0.0% 0.0%
23419 50.0% 0.0% 50.0% 0.0% 0.0%
23420 0.0% 0.0% 0.0% 0.0% 0.0%
23421 33.3% 0.0% 33.3% 0.0% 0.0%
23422 0.0% 0.0% 0.0% 0.0% 0.0%
23423 45.7% 0.0% 45.7% 0.0% 0.0%
23424 0.0% 0.0% 0.0% 0.0% 0.0%
23425 0.0% 0.0% 0.0% 0.0% 0.0%
23426 0.0% 0.0% 0.0% 0.0% 0.0%
23427 0.0% 0.0% 0.0% 0.0% 0.0%
23428 0.0% 0.0% 0.0% 0.0% 0.0%
23429 0.0% 0.0% 0.0% 0.0% 0.0%
23430 0.0% 0.0% 0.0% 0.0% 0.0%
23431 0.0% 0.0% 0.0% 0.0% 0.0%
Write-back ratio 10.8%
Thread Id Total Write-back ratio Uncategorized Replacement Coherence Flush
Thread Average 10.8% 0.0% 10.8% 0.0% 0.0%
23408 0.0% 0.0% 0.0% 0.0% 0.0%
23409 0.0% 0.0% 0.0% 0.0% 0.0%
23410 0.0% 0.0% 0.0% 0.0% 0.0%
23413 0.0% 0.0% 0.0% 0.0% 0.0%
23414 0.0% 0.0% 0.0% 0.0% 0.0%
23415 0.0% 0.0% 0.0% 0.0% 0.0%
23416 0.0% 0.0% 0.0% 0.0% 0.0%
23418 0.0% 0.0% 0.0% 0.0% 0.0%
23419 50.0% 0.0% 50.0% 0.0% 0.0%
23420 0.0% 0.0% 0.0% 0.0% 0.0%
23421 33.3% 0.0% 33.3% 0.0% 0.0%
23422 0.0% 0.0% 0.0% 0.0% 0.0%
23423 45.7% 0.0% 45.7% 0.0% 0.0%
23424 0.0% 0.0% 0.0% 0.0% 0.0%
23425 0.0% 0.0% 0.0% 0.0% 0.0%
23426 0.0% 0.0% 0.0% 0.0% 0.0%
23427 0.0% 0.0% 0.0% 0.0% 0.0%
23428 0.0% 0.0% 0.0% 0.0% 0.0%
23429 0.0% 0.0% 0.0% 0.0% 0.0%
23430 0.0% 0.0% 0.0% 0.0% 0.0%
23431 0.0% 0.0% 0.0% 0.0% 0.0%
Upgrade ratio 0.0%
Thread Id Upgrade ratio
Thread Average 0.0%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.0%
23420 0.0%
23421 0.0%
23422 0.0%
23423 0.0%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
Communication ratio 0.0%
Thread Id Comm. ratio
Thread Average 0.0%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.0%
23420 0.0%
23421 0.0%
23422 0.0%
23423 0.0%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
Fetch utilization 0.0%
Thread Id Fetch utilization
Thread Average 0.0%
23408 0.0%
23409 100.0%
23410 100.0%
23413 0.0%
23414 100.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.0%
23420 100.0%
23421 0.0%
23422 0.0%
23423 0.0%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 100.0%
23429 0.0%
23430 0.0%
23431 0.0%
Write-back utilization 51.0%
Thread Id Write-back utilization
Thread Average 51.0%
23408 100.0%
23409 100.0%
23410 100.0%
23413 100.0%
23414 100.0%
23415 100.0%
23416 100.0%
23418 100.0%
23419 12.5%
23420 100.0%
23421 37.2%
23422 0.0%
23423 26.2%
23424 100.0%
23425 100.0%
23426 100.0%
23427 100.0%
23428 100.0%
23429 100.0%
23430 100.0%
23431 0.0%
Communication utilization 100.0%
Thread Id Comm. utilization
Thread Average 100.0%
23408 100.0%
23409 100.0%
23410 100.0%
23413 100.0%
23414 100.0%
23415 100.0%
23416 100.0%
23418 100.0%
23419 100.0%
23420 100.0%
23421 100.0%
23422 100.0%
23423 100.0%
23424 100.0%
23425 100.0%
23426 100.0%
23427 100.0%
23428 100.0%
23429 100.0%
23430 100.0%
23431 100.0%
False sharing ratio 0.0%
Thread Id F-S. ratio
Thread Average 0.0%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.0%
23420 0.0%
23421 0.0%
23422 0.0%
23423 0.0%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
HW prefetch probability 0.0%
Thread Id HW prefetch probability
Thread Average 0.0%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.0%
23420 0.0%
23421 0.0%
23422 0.0%
23423 0.0%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
Access randomness Low
Thread Id Access randomness
Thread Average Low
23408 Low
23409 Low
23410 Low
23413 Low
23414 Low
23415 Low
23416 Low
23418 Low
23419 Low
23420 Low
23421 Low
23422 Low
23423 Low
23424 Low
23425 Low
23426 Low
23427 Low
23428 Low
23429 Low
23430 Low
23431 Low
Worst instruction "octotiger"!std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >::_M_default_append(unsigned long)+0x18d (0x9bcbcd) [W], stl_construct.h:75

Instructions involved in this issue

Stack Instruction % of misses % of fetches Fetch ratio Fetch utilization W-B Utilization
"octotiger"!std::enable_if<hpx::traits::detail::is_unique_future<hpx::util::result_of<node_server::nonrefined_step()::{lambda(hpx::lcos::future<void>)#1}::operator()(hpx::lcos::future<void>) const::{lambda(hpx::lcos::future<void>)#1} (hpx::lcos::future<void>)>::type, void>::value, void>::type hpx::lcos::detail::invoke_continuation<node_server::nonrefined_step()::{lambda(hpx::lcos::future<void>)#1}::operator()(hpx::lcos::future<void>) const::{lambda(hpx::lcos::future<void>)#1}, hpx::lcos::future<void>, hpx::lcos::detail::continuation<hpx::lcos::future<void>, {lambda(hpx::lcos::future<void>)#1}, hpx::lcos::future<void> > >(hpx::util&, hpx::util::result_of&, hpx::lcos::detail::continuation<hpx::lcos::future<void>, {lambda(hpx::lcos::future<void>)#1}, hpx::lcos::future<void> >&) [clone .constprop.2248]+0x11e (0x9597fe), node_server_actions_3.cpp:483 [ 33.4% ]
       "octotiger"!node_server::compute_fmm(gsolve_type, bool)+0x96 (0xa25076), stl_vector.h:676
"octotiger"!std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >::_M_default_append(unsigned long)+0x18d (0x9bcbcd) [W], stl_construct.h:75 0.7%
Thread Id % of misses
Thread Total 0.7%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.2%
23420 0.0%
23421 0.2%
23422 0.0%
23423 0.2%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
0.7%
Thread Id % of fetches
Thread Total 0.7%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.2%
23420 0.0%
23421 0.2%
23422 0.0%
23423 0.2%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
10.8%
Thread Id Total Fetch ratio Uncategorized Replacement Coherence Flush
Thread Average 10.8% 0.0% 10.8% 0.0% 0.0%
23408 0.0% 0.0% 0.0% 0.0% 0.0%
23409 0.0% 0.0% 0.0% 0.0% 0.0%
23410 0.0% 0.0% 0.0% 0.0% 0.0%
23413 0.0% 0.0% 0.0% 0.0% 0.0%
23414 0.0% 0.0% 0.0% 0.0% 0.0%
23415 0.0% 0.0% 0.0% 0.0% 0.0%
23416 0.0% 0.0% 0.0% 0.0% 0.0%
23418 0.0% 0.0% 0.0% 0.0% 0.0%
23419 50.0% 0.0% 50.0% 0.0% 0.0%
23420 0.0% 0.0% 0.0% 0.0% 0.0%
23421 33.3% 0.0% 33.3% 0.0% 0.0%
23422 0.0% 0.0% 0.0% 0.0% 0.0%
23423 45.7% 0.0% 45.7% 0.0% 0.0%
23424 0.0% 0.0% 0.0% 0.0% 0.0%
23425 0.0% 0.0% 0.0% 0.0% 0.0%
23426 0.0% 0.0% 0.0% 0.0% 0.0%
23427 0.0% 0.0% 0.0% 0.0% 0.0%
23428 0.0% 0.0% 0.0% 0.0% 0.0%
23429 0.0% 0.0% 0.0% 0.0% 0.0%
23430 0.0% 0.0% 0.0% 0.0% 0.0%
23431 0.0% 0.0% 0.0% 0.0% 0.0%
0.0%
Thread Id Fetch utilization
Thread Average 0.0%
23408 0.0%
23409 100.0%
23410 100.0%
23413 0.0%
23414 100.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.0%
23420 100.0%
23421 0.0%
23422 0.0%
23423 0.0%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 100.0%
23429 0.0%
23430 0.0%
23431 0.0%
51.0%
Thread Id Write-back utilization
Thread Average 51.0%
23408 100.0%
23409 100.0%
23410 100.0%
23413 100.0%
23414 100.0%
23415 100.0%
23416 100.0%
23418 100.0%
23419 12.5%
23420 100.0%
23421 37.2%
23422 0.0%
23423 26.2%
23424 100.0%
23425 100.0%
23426 100.0%
23427 100.0%
23428 100.0%
23429 100.0%
23430 100.0%
23431 0.0%

Instructions previously writing to related data

Stack Instruction
"octotiger"!std::enable_if<hpx::traits::detail::is_unique_future<hpx::util::result_of<node_server::nonrefined_step()::{lambda(hpx::lcos::future<void>)#1}::operator()(hpx::lcos::future<void>) const::{lambda(hpx::lcos::future<void>)#1} (hpx::lcos::future<void>)>::type, void>::value, void>::type hpx::lcos::detail::invoke_continuation<node_server::nonrefined_step()::{lambda(hpx::lcos::future<void>)#1}::operator()(hpx::lcos::future<void>) const::{lambda(hpx::lcos::future<void>)#1}, hpx::lcos::future<void>, hpx::lcos::detail::continuation<hpx::lcos::future<void>, {lambda(hpx::lcos::future<void>)#1}, hpx::lcos::future<void> > >(hpx::util&, hpx::util::result_of&, hpx::lcos::detail::continuation<hpx::lcos::future<void>, {lambda(hpx::lcos::future<void>)#1}, hpx::lcos::future<void> >&) [clone .constprop.2248]+0x11e (0x9597fe), node_server_actions_3.cpp:483 [ 33.4% ]
       "octotiger"!node_server::compute_fmm(gsolve_type, bool)+0x96 (0xa25076), stl_vector.h:676
"octotiger"!std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >::_M_default_append(unsigned long)+0x18d (0x9bcbcd) [W], stl_construct.h:75
"octotiger"!hpx::lcos::local::detail::task_object<void, hpx::util::detail::deferred<hpx::parallel::util::detail::partitioner_iteration<void, hpx::parallel::v2::detail::part_iterations<grid::compute_boundary_interactions_monopole_multipole(gsolve_type, std::vector<boundary_interaction_type, std::allocator<boundary_interaction_type> > const&, gravity_boundary_type const&)::{lambda(unsigned long)#1}&, int, hpx::util::tuple<> > >& (grid::compute_boundary_interactions_monopole_multipole(gsolve_type, std::vector<boundary_interaction_type, std::allocator<boundary_interaction_type> > const&, gravity_boundary_type const&)::{lambda(unsigned long)#1}&<unsigned long, unsigned long, unsigned long> const&)>, hpx::lcos::detail::task_base<void> >::do_run()+0x3e (0x9e3e4e), invoke.hpp:36
       "octotiger"!grid::compute_boundary_interactions_monopole_multipole(gsolve_type, std::vector<boundary_interaction_type, std::allocator<boundary_interaction_type> > const&, gravity_boundary_type const&)::{lambda(unsigned long)#1}::operator()(unsigned long) const+0x5fe (0x9dcede), thread_helpers.hpp:499
          "octotiger"!node_server::compute_fmm(gsolve_type, bool)+0x8cd (0xa258ad), node_server.cpp:465
"octotiger"!grid::compute_expansions(gsolve_type, std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > > const*)+0x825 (0x9e09f5) [W], grid_fmm.cpp:1098
"octotiger"!grid::compute_boundary_interactions_monopole_monopole(gsolve_type, std::vector<boundary_interaction_type, std::allocator<boundary_interaction_type> > const&, gravity_boundary_type const&)+0x49c (0x9e64dc), wait_all.hpp:329 [ 45.5% ]
       "octotiger"!void hpx::lcos::wait_all<hpx::lcos::future<void> >(std::vector<hpx::lcos::future<void>, std::allocator<hpx::lcos::future<void> > > const&)+0x2bf (0x88828f), wait_all.hpp:306 [ 45.5% ]
          "octotiger"!hpx::lcos::detail::future_data<void>::wait(hpx::error_code&)+0xb4 (0x85b074), future_data.hpp:567 [ 45.5% ]
             "libhpx.so.1.0.0"!hpx::lcos::local::detail::condition_variable::wait(std::unique_lock<hpx::lcos::local::spinlock>&, char const*, hpx::error_code&)+0xbf (0x7faa7fa0a8ef), thread_helpers.hpp:499 [ 45.5% ]
                "libhpx.so.1.0.0"!hpx::this_thread::suspend(hpx::threads::thread_state_enum, boost::intrusive_ptr<hpx::threads::thread_data> const&, hpx::util::thread_description const&, hpx::error_code&)+0xf8 (0x7faa7f577fe8), thread_helpers.cpp:472 [ 45.5% ]
                   "libhpx.so.1.0.0"!hpx::threads::coroutines::detail::coroutine_self::yield(std::pair<hpx::threads::thread_state_enum, boost::intrusive_ptr<hpx::threads::thread_data> >)+0xbc (0x7faa7f4f7f6c), context_linux_x86.hpp:374 [ 45.5% ]
                      "libhpx.so.1.0.0"!void hpx::threads::detail::scheduling_loop<hpx::threads::policies::local_priority_queue_scheduler<boost::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo> >(unsigned long, hpx::threads::policies::local_priority_queue_scheduler<boost::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo>&, hpx::threads::detail::scheduling_counters&, hpx::threads::detail::scheduling_callbacks&)+0x21c (0x7faa7f508b3c), scheduling_loop.hpp:329 [ 86.4% ]
                         "libhpx.so.1.0.0"!hpx::threads::thread_data::operator()()+0xcd (0x7faa7f50331d), context_linux_x86.hpp:374 [ 86.4% ]
                            "libhpx.so.1.0.0"!void hpx::threads::coroutines::detail::lx::trampoline<hpx::threads::coroutines::detail::coroutine_impl>(hpx::threads::coroutines::detail::coroutine_impl*)+0x9 (0x7faa7f466e09), context_linux_x86.hpp:88 [ 86.4% ]
                               "libhpx.so.1.0.0"!hpx::threads::coroutines::detail::coroutine_impl::operator()()+0x12b (0x7faa7f550a9b), basic_function.hpp:196 [ 86.4% ]
                                  "octotiger"!std::pair<hpx::threads::thread_state_enum, boost::intrusive_ptr<hpx::threads::thread_data> > hpx::util::detail::callable_vtable<std::pair<hpx::threads::thread_state_enum, boost::intrusive_ptr<hpx::threads::thread_data> > (hpx::threads::thread_state_ex_enum)>::_invoke<hpx::actions::detail::continuation_thread_function<node_server::send_gravity_multipoles_action, hpx::actions::basic_action<node_server, void (std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > >&&, geo::octant const&), node_server::send_gravity_multipoles_action>::invoker, unsigned long&, std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > >&&, geo::octant const&> >(void**, hpx::threads::thread_state_ex_enum&&)+0xfc (0x968bcc), trigger.hpp:128 [ 86.4% ]
                                     "octotiger"!void hpx::actions::detail::trigger_impl<void, hpx::util::unused_type, hpx::util::detail::deferred<hpx::actions::basic_action<node_server, void (std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > >&&, geo::octant const&), node_server::send_gravity_multipoles_action>::invoker (unsigned long&, std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > >&&, geo::octant const&)>&>(std::integral_constant<bool, true>, hpx::actions::typed_continuation<void, hpx::util::unused_type>&&, hpx::util::detail::deferred<hpx::actions::basic_action<node_server, void (std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > >&&, geo::octant const&), node_server::send_gravity_multipoles_action>::invoker (unsigned long&, std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > >&&, geo::octant const&)>&)+0x33 (0x9b2903), component_action.hpp:64 [ 86.4% ]
                                        "octotiger"!node_server::recv_gravity_multipoles(std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > >&&, geo::octant const&)+0x4e5 (0x95bb15), future_data.hpp:430 [ 86.4% ]
                                           "octotiger"!hpx::lcos::detail::future_data<std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > > >::handle_on_completed(hpx::util::unique_function<void (), false>&&)+0x29a (0x986d8a), basic_function.hpp:196
                                              "octotiger"!hpx::lcos::detail::continuation<hpx::lcos::future<std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > > >, node_server::compute_fmm(gsolve_type, bool)::{lambda(hpx::lcos::future<std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > > >&&)#1}, void>::run(boost::intrusive_ptr<hpx::lcos::detail::future_data<std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > > > > const&)+0x11c (0xa2408c), packaged_continuation.hpp:105
                                                 "octotiger"!void hpx::lcos::detail::invoke_continuation<node_server::compute_fmm(gsolve_type, bool)::{lambda(hpx::lcos::future<std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > > >&&)#1}, hpx::lcos::future<std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > > >, hpx::lcos::detail::continuation<hpx::lcos::future<std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > > >, {lambda(hpx::lcos::future<std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > > >&&)#1}, void> >(node_server::compute_fmm(gsolve_type, bool)::{lambda(hpx::lcos::future<std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > > >&&)#1}&, hpx::lcos::future<std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > > >&, hpx::lcos::detail::continuation<hpx::lcos::future<std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > > >, {lambda(hpx::lcos::future<std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > > >&&)#1}, void>&, std::integral_constant<bool, true>) [clone .isra.563] [clone .constprop.1362]+0xef (0xa23dff), node_server.cpp:397
"libc-2.12.so"!
"libhpx.so.1.0.0"!hpx::threads::coroutines::detail::coroutine_impl::operator()()+0x81 (0x7faa7f5509f1), context_linux_x86.hpp:374 [ 40.4% ]
       "libhpx.so.1.0.0"!void hpx::threads::detail::scheduling_loop<hpx::threads::policies::local_priority_queue_scheduler<boost::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo> >(unsigned long, hpx::threads::policies::local_priority_queue_scheduler<boost::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo>&, hpx::threads::detail::scheduling_counters&, hpx::threads::detail::scheduling_callbacks&)+0x21c (0x7faa7f508b3c), scheduling_loop.hpp:329 [ 40.4% ]
          "libhpx.so.1.0.0"!hpx::threads::thread_data::operator()()+0xcd (0x7faa7f50331d), context_linux_x86.hpp:374 [ 40.4% ]
             "octotiger"!node_server::compute_fmm(gsolve_type, bool)+0x1398 (0xa26378), node_server.cpp:407
                "octotiger"!grid::compute_multipoles(gsolve_type, std::pair<std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >, std::vector<space_vector_gen<double>, std::allocator<space_vector_gen<double> > > > const*)+0xdc5 (0x9e1b95), grid_fmm.cpp:1271
"libc-2.12.so"!

Loop statistics

Accesses 1.95e+08
Thread Id Accesses
Thread Total 1.95e+08
23408 7.23e+06
23409 0.00e+00
23410 0.00e+00
23413 1.45e+07
23414 0.00e+00
23415 1.45e+07
23416 1.45e+07
23418 1.45e+07
23419 1.45e+07
23420 0.00e+00
23421 2.17e+07
23422 7.23e+06
23423 1.45e+07
23424 1.45e+07
23425 7.23e+06
23426 7.23e+06
23427 7.23e+06
23428 0.00e+00
23429 1.45e+07
23430 1.45e+07
23431 7.23e+06
Fetch/Miss ratio
Write-back ratio
Utilization
% of misses 0.7%
Thread Id % of misses
Thread Total 0.7%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.2%
23420 0.0%
23421 0.2%
23422 0.0%
23423 0.2%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
% of bandwidth 0.9%
Thread Id % of bandwidth
Thread Total 0.9%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.3%
23420 0.0%
23421 0.3%
23422 0.0%
23423 0.3%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
% of fetches 0.7%
Thread Id % of fetches
Thread Total 0.7%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.2%
23420 0.0%
23421 0.2%
23422 0.0%
23423 0.2%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
% of write-backs 1.5%
Thread Id % of write-backs
Thread Total 1.5%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.5%
23420 0.0%
23421 0.5%
23422 0.0%
23423 0.5%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
% of upgrades 0.0%
Thread Id % of upgrades
Thread Total 0.0%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.0%
23420 0.0%
23421 0.0%
23422 0.0%
23423 0.0%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
Miss ratio 10.8%
Thread Id Total Miss ratio Uncategorized Replacement Coherence Flush
Thread Average 10.8% 0.0% 10.8% 0.0% 0.0%
23408 0.0% 0.0% 0.0% 0.0% 0.0%
23409 0.0% 0.0% 0.0% 0.0% 0.0%
23410 0.0% 0.0% 0.0% 0.0% 0.0%
23413 0.0% 0.0% 0.0% 0.0% 0.0%
23414 0.0% 0.0% 0.0% 0.0% 0.0%
23415 0.0% 0.0% 0.0% 0.0% 0.0%
23416 0.0% 0.0% 0.0% 0.0% 0.0%
23418 0.0% 0.0% 0.0% 0.0% 0.0%
23419 50.0% 0.0% 50.0% 0.0% 0.0%
23420 0.0% 0.0% 0.0% 0.0% 0.0%
23421 33.3% 0.0% 33.3% 0.0% 0.0%
23422 0.0% 0.0% 0.0% 0.0% 0.0%
23423 45.7% 0.0% 45.7% 0.0% 0.0%
23424 0.0% 0.0% 0.0% 0.0% 0.0%
23425 0.0% 0.0% 0.0% 0.0% 0.0%
23426 0.0% 0.0% 0.0% 0.0% 0.0%
23427 0.0% 0.0% 0.0% 0.0% 0.0%
23428 0.0% 0.0% 0.0% 0.0% 0.0%
23429 0.0% 0.0% 0.0% 0.0% 0.0%
23430 0.0% 0.0% 0.0% 0.0% 0.0%
23431 0.0% 0.0% 0.0% 0.0% 0.0%
Fetch ratio 10.8%
Thread Id Total Fetch ratio Uncategorized Replacement Coherence Flush
Thread Average 10.8% 0.0% 10.8% 0.0% 0.0%
23408 0.0% 0.0% 0.0% 0.0% 0.0%
23409 0.0% 0.0% 0.0% 0.0% 0.0%
23410 0.0% 0.0% 0.0% 0.0% 0.0%
23413 0.0% 0.0% 0.0% 0.0% 0.0%
23414 0.0% 0.0% 0.0% 0.0% 0.0%
23415 0.0% 0.0% 0.0% 0.0% 0.0%
23416 0.0% 0.0% 0.0% 0.0% 0.0%
23418 0.0% 0.0% 0.0% 0.0% 0.0%
23419 50.0% 0.0% 50.0% 0.0% 0.0%
23420 0.0% 0.0% 0.0% 0.0% 0.0%
23421 33.3% 0.0% 33.3% 0.0% 0.0%
23422 0.0% 0.0% 0.0% 0.0% 0.0%
23423 45.7% 0.0% 45.7% 0.0% 0.0%
23424 0.0% 0.0% 0.0% 0.0% 0.0%
23425 0.0% 0.0% 0.0% 0.0% 0.0%
23426 0.0% 0.0% 0.0% 0.0% 0.0%
23427 0.0% 0.0% 0.0% 0.0% 0.0%
23428 0.0% 0.0% 0.0% 0.0% 0.0%
23429 0.0% 0.0% 0.0% 0.0% 0.0%
23430 0.0% 0.0% 0.0% 0.0% 0.0%
23431 0.0% 0.0% 0.0% 0.0% 0.0%
Write-back ratio 10.8%
Thread Id Total Write-back ratio Uncategorized Replacement Coherence Flush
Thread Average 10.8% 0.0% 10.8% 0.0% 0.0%
23408 0.0% 0.0% 0.0% 0.0% 0.0%
23409 0.0% 0.0% 0.0% 0.0% 0.0%
23410 0.0% 0.0% 0.0% 0.0% 0.0%
23413 0.0% 0.0% 0.0% 0.0% 0.0%
23414 0.0% 0.0% 0.0% 0.0% 0.0%
23415 0.0% 0.0% 0.0% 0.0% 0.0%
23416 0.0% 0.0% 0.0% 0.0% 0.0%
23418 0.0% 0.0% 0.0% 0.0% 0.0%
23419 50.0% 0.0% 50.0% 0.0% 0.0%
23420 0.0% 0.0% 0.0% 0.0% 0.0%
23421 33.3% 0.0% 33.3% 0.0% 0.0%
23422 0.0% 0.0% 0.0% 0.0% 0.0%
23423 45.7% 0.0% 45.7% 0.0% 0.0%
23424 0.0% 0.0% 0.0% 0.0% 0.0%
23425 0.0% 0.0% 0.0% 0.0% 0.0%
23426 0.0% 0.0% 0.0% 0.0% 0.0%
23427 0.0% 0.0% 0.0% 0.0% 0.0%
23428 0.0% 0.0% 0.0% 0.0% 0.0%
23429 0.0% 0.0% 0.0% 0.0% 0.0%
23430 0.0% 0.0% 0.0% 0.0% 0.0%
23431 0.0% 0.0% 0.0% 0.0% 0.0%
Upgrade ratio 0.0%
Thread Id Upgrade ratio
Thread Average 0.0%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.0%
23420 0.0%
23421 0.0%
23422 0.0%
23423 0.0%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
Communication ratio 0.0%
Thread Id Comm. ratio
Thread Average 0.0%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.0%
23420 0.0%
23421 0.0%
23422 0.0%
23423 0.0%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
Fetch utilization 0.0%
Thread Id Fetch utilization
Thread Average 0.0%
23408 0.0%
23409 100.0%
23410 100.0%
23413 0.0%
23414 100.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.0%
23420 100.0%
23421 0.0%
23422 0.0%
23423 0.0%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 100.0%
23429 0.0%
23430 0.0%
23431 0.0%
Write-back utilization 51.0%
Thread Id Write-back utilization
Thread Average 51.0%
23408 100.0%
23409 100.0%
23410 100.0%
23413 100.0%
23414 100.0%
23415 100.0%
23416 100.0%
23418 100.0%
23419 12.5%
23420 100.0%
23421 37.2%
23422 0.0%
23423 26.2%
23424 100.0%
23425 100.0%
23426 100.0%
23427 100.0%
23428 100.0%
23429 100.0%
23430 100.0%
23431 0.0%
Communication utilization 100.0%
Thread Id Comm. utilization
Thread Average 100.0%
23408 100.0%
23409 100.0%
23410 100.0%
23413 100.0%
23414 100.0%
23415 100.0%
23416 100.0%
23418 100.0%
23419 100.0%
23420 100.0%
23421 100.0%
23422 100.0%
23423 100.0%
23424 100.0%
23425 100.0%
23426 100.0%
23427 100.0%
23428 100.0%
23429 100.0%
23430 100.0%
23431 100.0%
False sharing ratio 0.0%
Thread Id F-S. ratio
Thread Average 0.0%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.0%
23420 0.0%
23421 0.0%
23422 0.0%
23423 0.0%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
HW prefetch probability 0.0%
Thread Id HW prefetch probability
Thread Average 0.0%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.0%
23420 0.0%
23421 0.0%
23422 0.0%
23423 0.0%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
Access randomness Low
Thread Id Access randomness
Thread Average Low
23408 Low
23409 Low
23410 Low
23413 Low
23414 Low
23415 Low
23416 Low
23418 Low
23419 Low
23420 Low
23421 Low
23422 Low
23423 Low
23424 Low
23425 Low
23426 Low
23427 Low
23428 Low
23429 Low
23430 Low
23431 Low

Loop instructions

Stack Instruction % of misses % of fetches Fetch ratio Fetch utilization W-B Utilization
"octotiger"!std::enable_if<hpx::traits::detail::is_unique_future<hpx::util::result_of<node_server::nonrefined_step()::{lambda(hpx::lcos::future<void>)#1}::operator()(hpx::lcos::future<void>) const::{lambda(hpx::lcos::future<void>)#1} (hpx::lcos::future<void>)>::type, void>::value, void>::type hpx::lcos::detail::invoke_continuation<node_server::nonrefined_step()::{lambda(hpx::lcos::future<void>)#1}::operator()(hpx::lcos::future<void>) const::{lambda(hpx::lcos::future<void>)#1}, hpx::lcos::future<void>, hpx::lcos::detail::continuation<hpx::lcos::future<void>, {lambda(hpx::lcos::future<void>)#1}, hpx::lcos::future<void> > >(hpx::util&, hpx::util::result_of&, hpx::lcos::detail::continuation<hpx::lcos::future<void>, {lambda(hpx::lcos::future<void>)#1}, hpx::lcos::future<void> >&) [clone .constprop.2248]+0x11e (0x9597fe), node_server_actions_3.cpp:483 [ 33.4% ]
       "octotiger"!node_server::compute_fmm(gsolve_type, bool)+0x96 (0xa25076), stl_vector.h:676
"octotiger"!std::vector<taylor<4, double>, std::allocator<taylor<4, double> > >::_M_default_append(unsigned long)+0x18d (0x9bcbcd) [W], stl_construct.h:75 0.7%
Thread Id % of misses
Thread Total 0.7%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.2%
23420 0.0%
23421 0.2%
23422 0.0%
23423 0.2%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
0.7%
Thread Id % of fetches
Thread Total 0.7%
23408 0.0%
23409 0.0%
23410 0.0%
23413 0.0%
23414 0.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.2%
23420 0.0%
23421 0.2%
23422 0.0%
23423 0.2%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 0.0%
23429 0.0%
23430 0.0%
23431 0.0%
10.8%
Thread Id Total Fetch ratio Uncategorized Replacement Coherence Flush
Thread Average 10.8% 0.0% 10.8% 0.0% 0.0%
23408 0.0% 0.0% 0.0% 0.0% 0.0%
23409 0.0% 0.0% 0.0% 0.0% 0.0%
23410 0.0% 0.0% 0.0% 0.0% 0.0%
23413 0.0% 0.0% 0.0% 0.0% 0.0%
23414 0.0% 0.0% 0.0% 0.0% 0.0%
23415 0.0% 0.0% 0.0% 0.0% 0.0%
23416 0.0% 0.0% 0.0% 0.0% 0.0%
23418 0.0% 0.0% 0.0% 0.0% 0.0%
23419 50.0% 0.0% 50.0% 0.0% 0.0%
23420 0.0% 0.0% 0.0% 0.0% 0.0%
23421 33.3% 0.0% 33.3% 0.0% 0.0%
23422 0.0% 0.0% 0.0% 0.0% 0.0%
23423 45.7% 0.0% 45.7% 0.0% 0.0%
23424 0.0% 0.0% 0.0% 0.0% 0.0%
23425 0.0% 0.0% 0.0% 0.0% 0.0%
23426 0.0% 0.0% 0.0% 0.0% 0.0%
23427 0.0% 0.0% 0.0% 0.0% 0.0%
23428 0.0% 0.0% 0.0% 0.0% 0.0%
23429 0.0% 0.0% 0.0% 0.0% 0.0%
23430 0.0% 0.0% 0.0% 0.0% 0.0%
23431 0.0% 0.0% 0.0% 0.0% 0.0%
0.0%
Thread Id Fetch utilization
Thread Average 0.0%
23408 0.0%
23409 100.0%
23410 100.0%
23413 0.0%
23414 100.0%
23415 0.0%
23416 0.0%
23418 0.0%
23419 0.0%
23420 100.0%
23421 0.0%
23422 0.0%
23423 0.0%
23424 0.0%
23425 0.0%
23426 0.0%
23427 0.0%
23428 100.0%
23429 0.0%
23430 0.0%
23431 0.0%
51.0%
Thread Id Write-back utilization
Thread Average 51.0%
23408 100.0%
23409 100.0%
23410 100.0%
23413 100.0%
23414 100.0%
23415 100.0%
23416 100.0%
23418 100.0%
23419 12.5%
23420 100.0%
23421 37.2%
23422 0.0%
23423 26.2%
23424 100.0%
23425 100.0%
23426 100.0%
23427 100.0%
23428 100.0%
23429 100.0%
23430 100.0%
23431 0.0%

Copyright (c) 2006-2012 Rogue Wave Software, Inc. All Rights Reserved.
Patents pending.