Giter Site home page Giter Site logo

sstsimulator / sst-macro Goto Github PK

View Code? Open in Web Editor NEW
34.0 34.0 41.0 91.13 MB

SST Macro Element Library

Home Page: http://sst-simulator.org/

License: Other

Python 2.35% Shell 0.79% C++ 80.60% C 10.28% Objective-C 0.74% Makefile 1.05% M4 1.49% Cuda 0.01% Assembly 2.60% Jupyter Notebook 0.07% CMake 0.01%
simulation simulator snl-other snl-performance-workflow

sst-macro's People

Contributors

allevin avatar berquist avatar deanchester avatar gvoskuilen avatar jjwilke avatar jmlapre avatar jpkenny avatar jpvandy avatar mperrinel avatar nlslatt avatar nmhamster avatar sknigh avatar sst-autotester avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sst-macro's Issues

test

Notification test

Document otf2 build of sst-macro

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.

Memory leak running mpi stats

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

regex off by default

regex proofreading should be off by default
very slow implementations are causing timeout tests, performance debugging needed - particularly on Ubuntu

Skeletons provided do not compile (none of them)

Skeletons provided do not compile (none of them)

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:

  • Ubuntu 16.04 LTS
  • g++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
  • Zoltan 1.83
  • Boost 1.58
  • Package openmpi-bin 1.10.2 from Ubuntu repositories
  • sst-macro downloaded from this repository (as I'm writting this)

Also tried with a different system:

  • g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)
  • Zoltan 1.83
  • Boost 1.63.0
  • OpenMPI 2.0.2
  • sst-macro downloaded from this repository (as I'm writting this)

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

Using router parameter breaks with topology=simple_fattree

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 initialization

fat tree should probably be initialized with k=N, l=M instead of confusing topology geometry input

round-off errors

epoch->truncate_after can be more robust with respect to round-off - causes issues in certain use cases

mpirun -n 2 skeletons/sendrecv/runsendrecv

Skeletons simulations cannot be executed with MPI

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)

crossbar arbitration policy

crossbar pulls off a single queue - could probably improve arbitration policy to not bias so much to single source

clang libTooling better configure check

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.

parameter namespace issues

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.

man variable not defined

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

make installcheck tries to install in non-existant directories

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++

configure output doesn't contain everything

there should be a lot more information at the end of configure showing exactly what got configured

  1. if sst core was activated
  2. if threading was activate and whether spinlocks/affinity
  3. missing stuff on MPI pdes - should say yes or no
  4. whether mpi sync stats are enable
  5. whether sanity checks are enabled
  6. whether keyword proofreading (regex) is one
  7. whether clang source-to-source is enable

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.