sstsimulator / sst-macro Goto Github PK
View Code? Open in Web Editor NEWSST Macro Element Library
Home Page: http://sst-simulator.org/
License: Other
SST Macro Element Library
Home Page: http://sst-simulator.org/
License: Other
Cover the building of clang libtooling and sst/macro
Compiling a project with auto global variable removal
Notification test
also need to re-add node_id indexing test since that seems to have disappeared
This should follow the model in the manual for building with sst-core. It should show the basic installation steps for otf2 and then an example configure script for otf2 in the build section.
Running otf2 example input files should also be added similar to the dumpi section.
When all topology unit tests are disabled except topology/test_topology in tests/unit/tests/Makefile.am and all tests in tests//unit_tests/topology/test_topology.h and tests//unit_tests/topology/test_topology.c are commented out so that the first line that runs is unit.validate();, make check
prints
FAILED: unit_test_topology.chk-out: Line SUCCESS: fat tree coord check top_fattree.cc:58 missing from CHK file
, which makes no sense.
some skeletons in sst-macro/skeletons fail to build
collect more traces, run them
packet_flow_switch::queue_length
int
packet_flow_switch::queue_length(int port) const
{
packet_flow_buffer* buf = static_cast<packet_flow_buffer*>(out_buffers_[port]);
return buf->queue_length();
}
calls packet_flow_buffer::queue_length, which returns 0.
virtual int
queue_length() const {
return 0;
}
This invalidates all routers that use queue_lengths
Way too many warnings printed for gcc. It really shouldn't be warning about unknown pragmas.
confusion between byte displacements and type count displacements
Memory leak results in std::bad_alloc at the following backtrace when running large jobs on linux.
#0 new_error_handler () at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/main/main.cc:70
#1 0x00007fab8eef90eb in operator new(unsigned long) () from /lib64/libstdc++.so.6
#2 0x00007fab8fd9b2de in __gnu_cxx::new_allocator<std::_Rb_tree_nodesstmac::event_queue_entry* >::allocate (
this=0x138d770, __n=1) at /usr/include/c++/4.8.2/ext/new_allocator.h:104
#3 0x00007fab8fd9b25a in std::_Rb_tree<sstmac::event_queue_entry*, sstmac::event_queue_entry*, std::_Identitysstmac::event_queue_entry*, sstmac::native::event_map::event_compare, std::allocatorsstmac::event_queue_entry* >::_M_get_node (this=0x138d770) at /usr/include/c++/4.8.2/bits/stl_tree.h:370
#4 0x00007fab8fd9b177 in std::_Rb_tree<sstmac::event_queue_entry*, sstmac::event_queue_entry*, std::_Identitysstmac::event_queue_entry*, sstmac::native::event_map::event_compare, std::allocatorsstmac::event_queue_entry* >::_M_create_node<sstmac::event_queue_entry* const&> (this=0x138d770) at /usr/include/c++/4.8.2/bits/stl_tree.h:403
#5 0x00007fab8fd9af29 in std::_Rb_tree<sstmac::event_queue_entry*, sstmac::event_queue_entry*, std::_Identitysstmac::event_queue_entry*, sstmac::native::event_map::event_compare, std::allocatorsstmac::event_queue_entry* >::M_insert<sstmac::event_queue_entry* const&> (this=0x138d770, __x=0x0, __p=0x643713090, __v=@0x7fab393ba710: 0x7faaf9bb3010)
at /usr/include/c++/4.8.2/bits/stl_tree.h:1023
#6 0x00007fab8fd9a9b6 in std::_Rb_tree<sstmac::event_queue_entry*, sstmac::event_queue_entry*, std::_Identitysstmac::event_queue_entry*, sstmac::native::event_map::event_compare, std::allocatorsstmac::event_queue_entry* >::_M_insert_unique<sstmac::event_queue_entry* const&> (this=0x138d770, __v=@0x7fab393ba710: 0x7faaf9bb3010)
at /usr/include/c++/4.8.2/bits/stl_tree.h:1382
#7 0x00007fab8fd9a665 in std::set<sstmac::event_queue_entry*, sstmac::native::event_map::event_compare, std::allocatorsstmac::event_queue_entry* >::insert (this=0x138d770, __x=@0x7fab393ba710: 0x7faaf9bb3010)
at /usr/include/c++/4.8.2/bits/stl_set.h:463
#8 0x00007fab8fd99ea3 in sstmac::native::event_map::add_event (this=0x138d700, ev=0x7faaf9bb3010)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/backends/native/event_map.cc:54
#9 0x00007fab8fd9baa5 in sstmac::native::event_container::schedule (this=0x138d700, start_time=..., seqnum=1679363,
ev=0x7faaf9bb3010) at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/backends/native/event_container.cc:118
#10 0x00007fab8fda803f in sstmac::event_scheduler::schedule (this=0x15a5ec0, t=..., ev=0x7faaf9bb3010)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/common/event_scheduler.cc:315
#11 0x00007fab8fda7ec3 in sstmac::event_scheduler::send_self_event_queue (this=0x15a5ec0, arrival=...,
ev=0x7faaf9bb3010) at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/common/event_scheduler.cc:269
#12 0x00007fab8fe2aa74 in sstmac::hw::pisces_memory_packetizer::handle_payload (this=0x15a5ec0, vn=77, pkt=
0x7faaf9bb4010) at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/hardware/pisces/pisces_memory_model.cc:187
#13 0x00007fab8fe2a7fa in sstmac::hw::pisces_memory_packetizer::inject (this=0x15a5ec0, vn=77, bytes=4096,
byte_offset=757760, msg=0x3d76d7af0)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/hardware/pisces/pisces_memory_model.cc:169
#14 0x00007fab8fde73ee in sstmac::hw::packetizer::sendWhatYouCan (this=0x15a5ec0, vn=77)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/hardware/common/packetizer.cc:72
#15 0x00007fab8fde708e in sstmac::hw::packetizer::start (this=0x15a5ec0, vn=77, msg=0x3d76d7af0)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/hardware/common/packetizer.cc:45
#16 0x00007fab8fe2a333 in sstmac::hw::pisces_memory_model::access (this=0x15a5d60, bytes=1619712, max_bw=500000000,
cb=0x709b5ac00) at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/hardware/pisces/pisces_memory_model.cc:112
#17 0x00007fab8fded698 in sstmac::hw::nic::intranode_send (this=0x15a5b80, payload=0x2b29f4200)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/hardware/nic/nic.cc:200
#18 0x00007fab8fdf219c in sstmac::hw::node::send_to_nic (this=0x15a5ae0, netmsg=0x2b29f4200)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/hardware/node/node.cc:285
#19 0x00007fab8fead282 in sstmac::sw::operating_system::execute_kernel (this=0x15a61e0, func=sstmac::ami::COMM_SEND,
data=0x2b29f4200) at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/software/process/operating_system.cc:389
#20 0x00007fab8fe6003c in sstmac::sw::operating_system::execute (this=0x15a61e0, func=sstmac::ami::COMM_SEND,
data=0x2b29f4200) at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/software/process/operating_system.h:136
#21 0x00007fab8fe5e3c5 in sstmac::sumi_transport::send (this=0xfa01f60, byte_length=1619712, dst_task=9388,
dst_node=391, dst_app=1, msg=..., needs_ack=false, ty=1)
---Type to continue, or q to quit---
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/libraries/sumi/sumi_transport.cc:308
#22 0x00007fab8fe5e2a7 in sstmac::sumi_transport::send (this=0xfa01f60, byte_length=1619712, msg=..., sendType=1,
dst_rank=9388, needs_ack=false)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/libraries/sumi/sumi_transport.cc:286
#23 0x00007fab8fe5e795 in sstmac::sumi_transport::do_rdma_get (this=0xfa01f60, dst=9388, msg=...)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/libraries/sumi/sumi_transport.cc:364
#24 0x00007fab8fd47725 in sumi::transport::rdma_get (this=0xfa01fe0, src=9388, msg=..., needs_send_ack=false,
needs_recv_ack=true) at /home/jpkenny/src/sst-macro-mpi_stats/sumi/sumi/transport.cc:1154
#25 0x00007fab8ff07138 in sumi::mpi_queue::post_rdma (this=0xfa02940, msg=..., needs_send_ack=false,
needs_recv_ack=true) at /home/jpkenny/src/sst-macro-mpi_stats/sumi-mpi/mpi_queue/mpi_queue.cc:742
#26 0x00007fab8ff104c7 in sumi::rendezvous_get::incoming_header (this=0x2cbfcb0, queue=0xfa02940, msg=...,
req=0x48ececfe0) at /home/jpkenny/src/sst-macro-mpi_stats/sumi-mpi/mpi_protocol/rendezvous_rdma.cc:71
#27 0x00007fab8ff035df in sumi::mpi_queue::recv (this=0xfa02940, key=0x34f7857e0, count=202464, type=7, source=172,
tag=172, comm=0x3387000, buffer=0x0) at /home/jpkenny/src/sst-macro-mpi_stats/sumi-mpi/mpi_queue/mpi_queue.cc:289
#28 0x00007fab8ff2e748 in sumi::mpi_api::do_irecv (this=0xfa01f60, buf=0x0, count=202464, datatype=7, source=172,
tag=172, comm=5, request=0x7fab393bb368)
at /home/jpkenny/src/sst-macro-mpi_stats/sumi-mpi/mpi_api_send_recv.cc:224
#29 0x00007fab8ff2e847 in sumi::mpi_api::irecv (this=0xfa01f60, buf=0x0, count=202464, datatype=7, source=172,
tag=172, comm=5, request=0x7fab393bb368)
at /home/jpkenny/src/sst-macro-mpi_stats/sumi-mpi/mpi_api_send_recv.cc:233
#30 0x00007fab8fe8212f in sumi::parsedumpi_callbacks::on_MPI_Irecv (prm=0x7fab393be420, thread=0,
cpu=0x7fab393be400, wall=0x7fab393be3f0, perf=0x7fab393bb3e0, uarg=0x7fab393bf9d0)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/skeletons/sumi_undumpi/parsedumpi_callbacks.cc:987
#31 0x00007fab8f5dac06 in libundumpi_grab_irecv (profile=0xfa02fb0,
callout=0x7fab8fe81f4e <sumi::parsedumpi_callbacks::on_MPI_Irecv(dumpi_irecv const*, unsigned short, dumpi_time const*, dumpi_time const*, dumpi_perfinfo const*, void*)>, uarg=0x7fab393bf9d0)
at /home/jpkenny/src/sst-macro-mpi_stats/sst-dumpi/dumpi/libundumpi/bindings.c:239
#32 0x00007fab8f5d8a8a in undumpi_read_single_call (profile=0xfa02fb0, callarr=0x7fab393be4e0, uarg=0x7fab393bf9d0,
mpi_finalized=0x7fab393bf734) at /home/jpkenny/src/sst-macro-mpi_stats/sst-dumpi/dumpi/libundumpi/libundumpi.c:83
#33 0x00007fab8f5d8dfb in undumpi_read_stream_full (
metaname=0xfa02d28 "/srv/tmp/jk/gtc_16384/dumpi-2015.08.19.08.30.41-9389.bin", profile=0xfa02fb0,
callback=0x2d7ee10, uarg=0x7fab393bf9d0, print_progress=false, percent_terminate=-1)
at /home/jpkenny/src/sst-macro-mpi_stats/sst-dumpi/dumpi/libundumpi/libundumpi.c:150
#34 0x00007fab8fe7de35 in sumi::parsedumpi_callbacks::parse_stream (this=0x7fab393bf9d0,
fname="/srv/tmp/jk/gtc_16384/dumpi-2015.08.19.08.30.41-9389.bin", print_progress=false, percent_terminate=-1)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/skeletons/sumi_undumpi/parsedumpi_callbacks.cc:126
#35 0x00007fab8fe7cb5d in sumi::parsedumpi::skeleton_main (this=0xfa009f0)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/skeletons/sumi_undumpi/parsedumpi.cc:99
#36 0x00007fab8fec0a18 in sstmac::sw::app::run (this=0xfa009f0)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/software/process/app.cc:216
#37 0x00007fab8feb9831 in sstmac::sw::thread::run_routine (threadptr=0x2fcc0a0)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/software/process/thread.cc:205
#38 0x00007fab8fed024d in sstmac::sw::funcptr::call (this=0x7fab393bffd0, arg=...)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/software/threading/context_util.h:80
#39 0x00007fab8fed0090 in sstmac::sw::context_springboard (func_ptr_a=-1880385598, func_ptr_b=32683,
arg_ptr_a=50118816, arg_ptr_b=0)
at /home/jpkenny/src/sst-macro-mpi_stats/sstmac/software/threading/context_util.cc:23
#40 0x00007fab8e607cf0 in ?? () from /lib64/libc.so.6
#41 0x0000000000000000 in ?? ()New Issue for sst-macro
parameter checking (regex enabled) is broken on master branch (possible others)
Compile from tarballs
Line 2171 of https://travis-ci.org/calccrypto/sst-macro/builds/144228551
make[2]: *** No rule to make target
/home/travis/build/calccrypto/sst-macro/.git/refs/heads/HEAD', needed by
../../sstmac_repo.h'. Stop.
git/refs/heads/HEAD
should be git/refs/heads/<branch name>
. HEAD
is in .git/
.
Is it necessary to print the git commit for versioning?
regex proofreading should be off by default
very slow implementations are causing timeout tests, performance debugging needed - particularly on Ubuntu
Openmpi has progress threads. We pin threads and spinlock. Get these two to cooperate.
New Issue for sst-macro
Skeletons provided under skeletons/ directory do not compile, I've tried all of them and I cannot get them compiled. These are my system properties:
Also tried with a different system:
This is the error I'm getting:
sst-macro/skeletons/sendrecv$ make
sst++ -I. -c main.cc -o main.o
<command-line>:0:10: error: ‘dontallow’ does not name a type
<command-line>:0:10: error: ‘dontallow’ does not name a type
In file included from /home/juanjosegcc/local/sstmacro/6.1.0/include/sstmac/replacements/mutex:12:0,
from /usr/include/c++/5/condition_variable:39,
from /home/juanjosegcc/local/sstmacro/6.1.0/include/sstmac/replacements/condition_variable:6,
from /home/juanjosegcc/local/sstcore/6.1.0/include/sst/core/threadsafe.h:19,
from /home/juanjosegcc/local/sstcore/6.1.0/include/sst/core/mempool.h:25,
from /home/juanjosegcc/local/sstcore/6.1.0/include/sst/core/activity.h:21,
from /home/juanjosegcc/local/sstcore/6.1.0/include/sst/core/event.h:21,
from /home/juanjosegcc/local/sstcore/6.1.0/include/sst/core/link.h:17,
from /home/juanjosegcc/local/sstmacro/6.1.0/include/sstmac/common/event_handler.h:22,
from /home/juanjosegcc/local/sstmacro/6.1.0/include/sstmac/common/sst_event.h:16,
from /home/juanjosegcc/local/sstmacro/6.1.0/include/sstmac/common/messages/sst_message.h:19,
from /home/juanjosegcc/local/sstmacro/6.1.0/include/sstmac/hardware/network/network_message.h:4,
from /home/juanjosegcc/local/sstmacro/6.1.0/include/sumi-mpi/mpi_message.h:16,
from /home/juanjosegcc/local/sstmacro/6.1.0/include/sumi-mpi/mpi_request.h:18,
from /home/juanjosegcc/local/sstmacro/6.1.0/include/sumi-mpi/mpi_api.h:22,
from /home/juanjosegcc/local/sstmacro/6.1.0/include/sumi-mpi/mpi_wrapper.h:8,
from /home/juanjosegcc/local/sstmacro/6.1.0/include/sstmac/replacements/mpi.h:2,
from main.cc:1:
/usr/include/c++/5/mutex: In function ‘void std::__once_call_impl()’:
/usr/include/c++/5/mutex:706:21: error: ‘__once_callable’ was not declared in this scope
(*(_Callable*)__once_callable)();
^
/usr/include/c++/5/mutex: In function ‘void std::call_once(std::once_flag&, _Callable&&, _Args&& ...)’:
/usr/include/c++/5/mutex:728:7: error: ‘__once_callable’ was not declared in this scope
__once_callable = std::__addressof(__bound_functor);
^
/usr/include/c++/5/mutex:729:7: error: ‘__once_call’ was not declared in this scope
__once_call = &__once_call_impl<decltype(__bound_functor)>;
^
Makefile:24: recipe for target 'main.o' failed
make: *** [main.o] Error 1
Do not send single events. Aggregate messages to a given size
Should ft
be cast to a abstract_fat_tree
instead of fat_tree
? Also, shouldn't the check be done first, and then the variable be set?
sstmac/hardware/router/fat_tree.cc:54
void
fat_tree_router::set_topology(topology *top)
{
structured_router::set_topology(top);
fat_tree* ft = safe_cast(fat_tree, top);
if (ft->k() != k_ || ft->l() != l_){
spkt_throw_printf(sprockit::value_error,
"fat tree router configuration (k=%d,l=%d) does not match"
" topology configuration (k=%d,l=%d)",
k_, l_, ft->k(), ft->l());
}
}
fat tree should probably be initialized with k=N, l=M instead of confusing topology geometry input
Too many errors coming in from SST core. Just stop the warnings.
this should not happen
epoch->truncate_after can be more robust with respect to round-off - causes issues in certain use cases
I've got sst-macro built in standalone mode (which allows me to build the skeletons), otherwise they will not build.
When executing the simulations as is, skeletons/sendrecv/runsendrecv, it works.
$ ./runsendrecv
./runsendrecv
--debug="" \
--configfile="parameters.ini" \
Rank 0 finished at t= 0.0020 ms
Rank 0 finished at t= 0.0080 ms
Estimated total runtime of 0.00001206 seconds
SSTMAC repo: 1307bb4f31e033dbbd2d9b82c54d3753446d31a4
SST/macro ran for 0.0009 seconds
But when trying to execute using MPI to execute the simulation (title command), the dynamic linker tells me this:
$ mpirun -n 2 ./runsendrecv
./runsendrecv
--debug="" \
--configfile="parameters.ini" \
[qarthos:05771] *** Process received signal ***
[qarthos:05771] Signal: Segmentation fault (11)
[qarthos:05771] Signal code: Address not mapped (1)
[qarthos:05771] Failing at address: 0x60
[qarthos:05771] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f8b9cc35390]
[qarthos:05771] [ 1] /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac.so.6(_ZN6sstmac2hw12interconnect17connect_endpointsEPN8sprockit14sim_parametersES4_+0x128)[0x7f8b9dd9f4d8]
[qarthos:05771] [ 2] /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac.so.6(_ZN6sstmac2hw12interconnectC1EPN8sprockit14sim_parametersEPNS_13event_managerEPNS_9partitionEPNS_16parallel_runtimeE+0xa10)[0x7f8b9dda2550]
[qarthos:05771] [ 3] /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac.so.6(_ZN6sstmac2hw12interconnect19static_interconnectEPN8sprockit14sim_parametersEPNS_13event_managerE+0x43b)[0x7f8b9dda2c0b]
[qarthos:05771] [ 4] /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac.so.6(_ZN6sstmac6native7managerC1EPN8sprockit14sim_parametersEPNS_16parallel_runtimeE+0x29a)[0x7f8b9dd3c91a]
[qarthos:05771] [ 5] /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac.so.6(_ZN6sstmac10run_paramsEPNS_16parallel_runtimeEPN8sprockit14sim_parametersER9sim_stats+0xcb)[0x7f8b9ddc9aab]
[qarthos:05771] [ 6] /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac.so.6(_ZN6sstmac8try_mainEPN8sprockit14sim_parametersEiPPcb+0x291)[0x7f8b9ddca341]
[qarthos:05771] [ 7] /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac_main.so.0(main+0x41)[0x7f8b9e5d6cd1]
[qarthos:05771] [ 8] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f8b9c87b830]
[qarthos:05771] [ 9] ./runsendrecv[0x403e29]
[qarthos:05771] *** End of error message ***
[qarthos:05770] *** Process received signal ***
[qarthos:05770] Signal: Segmentation fault (11)
[qarthos:05770] Signal code: Address not mapped (1)
[qarthos:05770] Failing at address: 0x60
[qarthos:05770] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7fecc79ac390]
[qarthos:05770] [ 1] /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac.so.6(_ZN6sstmac2hw12interconnect17connect_endpointsEPN8sprockit14sim_parametersES4_+0x128)[0x7fecc8b164d8]
[qarthos:05770] [ 2] /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac.so.6(_ZN6sstmac2hw12interconnectC1EPN8sprockit14sim_parametersEPNS_13event_managerEPNS_9partitionEPNS_16parallel_runtimeE+0xa10)[0x7fecc8b19550]
[qarthos:05770] [ 3] /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac.so.6(_ZN6sstmac2hw12interconnect19static_interconnectEPN8sprockit14sim_parametersEPNS_13event_managerE+0x43b)[0x7fecc8b19c0b]
[qarthos:05770] [ 4] /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac.so.6(_ZN6sstmac6native7managerC1EPN8sprockit14sim_parametersEPNS_16parallel_runtimeE+0x29a)[0x7fecc8ab391a]
[qarthos:05770] [ 5] /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac.so.6(_ZN6sstmac10run_paramsEPNS_16parallel_runtimeEPN8sprockit14sim_parametersER9sim_stats+0xcb)[0x7fecc8b40aab]
[qarthos:05770] [ 6] /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac.so.6(_ZN6sstmac8try_mainEPN8sprockit14sim_parametersEiPPcb+0x291)[0x7fecc8b41341]
[qarthos:05770] [ 7] /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac_main.so.0(main+0x41)[0x7fecc934dcd1]
[qarthos:05770] [ 8] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fecc75f2830]
[qarthos:05770] [ 9] ./runsendrecv[0x403e29]
[qarthos:05770] *** End of error message ***
--------------------------------------------------------------------------
mpirun noticed that process rank 0 with PID 5770 on node qarthos exited on signal 11 (Segmentation fault).
--------------------------------------------------------------------------
I've got sst-macro compiled in standalone mode with CC=mpicc and CXX=mpic++, using gcc 5.4 in Ubuntu 16.04LTS 64bits.
For more information, this is the output for the command ldd:
$ ldd runsendrecv
linux-vdso.so.1 => (0x00007fffa030f000)
libsstmac_main.so.0 => /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac_main.so.0 (0x00007fb03fe17000)
libsprockit.so.0 => /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsprockit.so.0 (0x00007fb03fbbc000)
libundumpi.so.3 => /home/juanjosegcc/local/sstmacro/6.1.0/lib/libundumpi.so.3 (0x00007fb03f91a000)
libsstmac.so.6 => /home/juanjosegcc/local/sstmacro/6.1.0/lib/libsstmac.so.6 (0x00007fb03f413000)
libmpi_cxx.so.1 => /usr/lib/libmpi_cxx.so.1 (0x00007fb03f1dc000)
libmpi.so.12 => /usr/lib/libmpi.so.12 (0x00007fb03ef06000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb03eb84000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb03e87a000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb03e664000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb03e447000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb03e07d000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb03de79000)
libibverbs.so.1 => /usr/lib/libibverbs.so.1 (0x00007fb03dc69000)
libopen-rte.so.12 => /usr/lib/libopen-rte.so.12 (0x00007fb03d9ef000)
libopen-pal.so.13 => /usr/lib/libopen-pal.so.13 (0x00007fb03d752000)
/lib64/ld-linux-x86-64.so.2 (0x000055ea9f00b000)
libhwloc.so.5 => /usr/lib/x86_64-linux-gnu/libhwloc.so.5 (0x00007fb03d517000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fb03d30f000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fb03d10c000)
libnuma.so.1 => /usr/lib/x86_64-linux-gnu/libnuma.so.1 (0x00007fb03cf00000)
libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7 (0x00007fb03ccf6000)
they should be enabled
Convert all print statements to sys.stdout.write for both 2 and 3 compat
crossbar pulls off a single queue - could probably improve arbitration policy to not bias so much to single source
Regex runs much too slowly for large runs
Small OTF2 trace should be conditionally added to test suite when otf is activated
~50-100 MPI ranks
This should be plenty
https://github.com/sstsimulator/sst-macro/blob/master/sstmac/hardware/router/routable.cc#L26
const char*
tostr(routing::algorithm_t algo)
{
switch(algo) {
enumcase(minimal);
enumcase(valiant);
enumcase(deflt);
enumcase(ugal);
default:
spkt_throw_printf(sprockit::value_error,
"invalud routing algorithm enum %d",
algo);
}
return 0;
}
The libtooling check needs to be stricter. Right now, it just checks for header files. There should be a way to ensure abi compatibility between compiler used for SST and compiler used for libtooling so entire configure/compile process doesn't complete before linking error occurs.
has_param() function does not properly check parent + global namespaces for parameter name. This causes get_int_param() and get_optional_int_param() to have inconsistent behaviors.
cpu-affinity doesn't work on OSX, configure should ensure that user doesn't enable it there
Have Irecvs posted speculatively (for a particular size - related to message aggregation)
Allow async progress thread to make progress before reaching sync points
in devel branch sstmac/software/process/operating_system.cc
#if SSTMAC_USE_MULTITHREAD
if (os_thread_contexts_.size() == 1){
os_thread_contexts_.resize(man->nthread());
os_thread_context& main_ctxt = os_thread_contexts_[0];
for (int i=1; i < man->nthread(); ++i){
os_thread_context& ctxt = os_thread_contexts_[i];
ctxt.stackalloc.init(
main_ctxt.stackalloc.stacksize(),
main_ctxt.stackalloc.chunksize(),
main_ctxt.stackalloc.use_mprot());
}
}
#endif
source-to-source crashes on new () const int because initializer is not getting forwarded
The skeletons/boxml/Makefile
file tries to install in install
and sstmacro-debug
directories, which do not exist and are not created.
~/install/sstmacro-debug/bin/sst++ -I. -DSSTMAC_HAVE_BOOST=1 -I~/src/boost_1_59_0 -g -c boxml.cc -o boxml.o
make[3]: ~/install/sstmacro-debug/bin/sst++: Command not found
~/install/sstmacro-debug/bin/sst++ -I. -DSSTMAC_HAVE_BOOST=1 -I~/src/boost_1_59_0 -g -c boxml-data.cc -o boxml-data.o
Makefile:27: recipe for target 'boxml.o' failed
make[3]: ~/install/sstmacro-debug/bin/sst++: Command not found
make[3]: *** [boxml.o] Error 127
make[3]: *** Waiting for unfinished jobs....
Makefile:27: recipe for target 'boxml-data.o' failed
make[3]: *** [boxml-data.o] Error 127
make[3]: Leaving directory '~/sst-macro/tests/skeletons/boxml'
Makefile:1534: recipe for target 'boxml' failed
make[2]: *** [boxml] Error 2
make[2]: *** Waiting for unfinished jobs....
CXX: ~/.local/sstmacro/bin/sst++
fat tree breaks when you try to connect an odd number of nodes
there should be a lot more information at the end of configure showing exactly what got configured
Right now, it seems that fat_tree::nearest_common_ancestor_level assumes that the input coordinates are leaf switches. What about when they are not?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.