2 years agoAvoid building user-driven-interop example on non-LRTS layers 21/5121/3
Evan Ramos [Thu, 25 Apr 2019 20:19:42 +0000 (15:19 -0500)]
Avoid building user-driven-interop example on non-LRTS layers

Change-Id: I6112c85fd92ece9a7e556f23029c4ff381961e1c

2 years agoFix duplicated building of TCharm .ci files 20/5120/1
Evan Ramos [Thu, 25 Apr 2019 19:54:21 +0000 (14:54 -0500)]
Fix duplicated building of TCharm .ci files

This issue occasionally leads to strange build failures in TCharm likely
due to this race condition.

Change-Id: I514c75963c14981533a37c4b97a35303a2559786

2 years agoFix parallel build of examples/charm++/user-driven-interop 19/5119/3
Evan Ramos [Thu, 25 Apr 2019 17:46:44 +0000 (12:46 -0500)]
Fix parallel build of examples/charm++/user-driven-interop

Change-Id: Ia61e62b7e01a15308241250468918c1b79652085

2 years agoZC Bcast for large RO data: Add a benchmark to compare with regular bcast 54/5054/18
Nitin Bhat [Mon, 1 Apr 2019 18:43:31 +0000 (13:43 -0500)]
ZC Bcast for large RO data: Add a benchmark to compare with regular bcast

Change-Id: I915c75eff84fcbbae1240db167849b309e52bd49

2 years agoZC Bcast APIs: Add a benchmark to compare bcast APIs 60/4960/31
Nitin Bhat [Tue, 19 Feb 2019 15:07:02 +0000 (09:07 -0600)]
ZC Bcast APIs: Add a benchmark to compare bcast APIs

Change-Id: I8310c89e5e26fa6e49040029d488794226ad889c

2 years agoZC P2P APIs: Add a benchmark to compare send only and send/recv APIs 56/4956/29
Nitin Bhat [Fri, 15 Feb 2019 23:11:20 +0000 (17:11 -0600)]
ZC P2P APIs: Add a benchmark to compare send only and send/recv APIs

Change-Id: I496de6884e3ae5c5e7799823c247bc8d3ae3cf77

2 years agoZC EM Bcast Post API: Add examples for each registration mode 81/4981/20
Nitin Bhat [Mon, 25 Feb 2019 23:33:53 +0000 (15:33 -0800)]
ZC EM Bcast Post API: Add examples for each registration mode

Change-Id: I25a2c4aeec4999587ccb5af86104055185240ccb

2 years agoZcpy Bcast Post API: Add a ping_all benchmark 50/4950/24
Nitin Bhat [Wed, 13 Feb 2019 21:41:24 +0000 (15:41 -0600)]
Zcpy Bcast Post API: Add a ping_all benchmark

Change-Id: I6bf4c3afaf23a804d21ccd7d2e373c3d91362477

2 years agoFix linking error with non-LRTS PAMI layer 16/5116/1
Evan Ramos [Wed, 24 Apr 2019 19:34:16 +0000 (14:34 -0500)]
Fix linking error with non-LRTS PAMI layer

Change-Id: I9ebd4d5cd587546bd2f44b3c85f9896f3094f833

2 years agoZC EM Post API: Add examples for each registration mode 80/4980/21
Nitin Bhat [Mon, 25 Feb 2019 22:51:08 +0000 (14:51 -0800)]
ZC EM Post API: Add examples for each registration mode

Change-Id: Icae263b84bf8f2ba12a6600e6550af4a63d635aa

2 years agoZC EM Post API: Allow Post entry method to specify registration mode 77/4977/21
Nitin Bhat [Mon, 25 Feb 2019 18:42:41 +0000 (12:42 -0600)]
ZC EM Post API: Allow Post entry method to specify registration mode

Change-Id: Icbc28ecee6541236e66c6a2333045415e9e20873

2 years agoFix linking failures in interop changes 13/5113/4
Evan Ramos [Tue, 23 Apr 2019 16:40:41 +0000 (11:40 -0500)]
Fix linking failures in interop changes

Change-Id: I42dc792c2b1e143301af6e9b79fe6eb6d20f311a

2 years agoZC EM API: Optimize charmxi generated code and remove unnecessary code 72/4972/20
Nitin Bhat [Fri, 22 Feb 2019 22:37:36 +0000 (16:37 -0600)]
ZC EM API: Optimize charmxi generated code and remove unnecessary code

The optimization involves computing the number of rdma send and recv
parameters during compile time instead of run time( as done previously).
For the ZC EM Post API, this allows us to statically allocate the array
of posted pointers instead of a dynamic allocation, which was used

Change-Id: I3c88e36f0854130dbeab0534d77e59006fcf61ce

2 years agoFeature #2053: Zerocopy Broadcast Post API 43/4943/30
Nitin Bhat [Wed, 6 Feb 2019 20:00:02 +0000 (15:00 -0500)]
Feature #2053: Zerocopy Broadcast Post API

Change-Id: Iee1a824f62eb7cf15f0608ab136ffc0ac4ceeba7

2 years agoFix multicore test incompatibility in user-driven-interop 12/5112/1
Evan Ramos [Tue, 23 Apr 2019 16:29:50 +0000 (11:29 -0500)]
Fix multicore test incompatibility in user-driven-interop

Change-Id: Ia958fa06a9396f316e9de342752c204e48175484

2 years agoFix bugs in tests/ampi/megampi 08/5108/4
Evan Ramos [Fri, 19 Apr 2019 19:51:51 +0000 (14:51 -0500)]
Fix bugs in tests/ampi/megampi

Change-Id: Ie8a41ac083b19771ead87dbb5688768d4e073e3a

2 years agoAllow tests/ampi/megampi to compile as a conventional MPI program 07/5107/4
Evan Ramos [Fri, 19 Apr 2019 19:28:52 +0000 (14:28 -0500)]
Allow tests/ampi/megampi to compile as a conventional MPI program

Change-Id: I3ad78814b360c0fa9f5be9b25aeba83e0993132d

2 years agoFix C++ build error in bigsim 79/5079/4
Evan Ramos [Thu, 11 Apr 2019 18:44:26 +0000 (13:44 -0500)]
Fix C++ build error in bigsim

Change-Id: I2c48ece74ddf078e5830097a5679e8aa41fcd3b3

2 years agoBug #2063: Allow CkCallback::ckExit to work with interop 06/5106/2
Eric Mikida [Fri, 19 Apr 2019 03:49:37 +0000 (23:49 -0400)]
Bug #2063: Allow CkCallback::ckExit to work with interop

Change-Id: Ic2ee8bc7bc56333c0b039804dd8535f19a713ad6

2 years agoInterop bug fixes at exit 13/913/7
Nikhil Jain [Sat, 14 Nov 2015 19:14:16 +0000 (13:14 -0600)]
Interop bug fixes at exit

When exit is called, the scheduler should not be stopped immediately since
pending messages, including the exit broadcast, need to be sent out first.
This change relies on LrtsDrainResources to handle this.

Co-authored-by: Eric Mikida <>
Change-Id: I92f81f9ab2d14b89bb05a627a6c7b9764e1e16cf

2 years agoEliminated the need for mainchares in interopt mode. 32/2732/24
Justin Szaday [Mon, 26 Jun 2017 18:59:24 +0000 (13:59 -0500)]
Eliminated the need for mainchares in interopt mode.

This changes charm initialization for userDrivenMode to a split initialization.
The API remains the same, but when using interop mode, the charm code should no
longer call CkExit() from the main chare or during initialization. The scheduler
is automatically stopped after initialization by the runtime system.

Co-authored-by: Eric Mikida <>
Change-Id: Iacd42b2d5e8c940807c143e6cec866fc2041f7ac

2 years agoFeature #1236: Zerocopy P2P Post API 20/4820/41
Nitin Bhat [Thu, 25 Oct 2018 01:10:41 +0000 (21:10 -0400)]
Feature #1236: Zerocopy P2P Post API

Change-Id: Ic35fc097701b89d8eede45845ea5535c23f63f06

2 years agoAdd CMK_MULTICORE to conv-mach-opt.mak through the configure script 10/5110/1
Nitin Bhat [Fri, 19 Apr 2019 21:20:46 +0000 (16:20 -0500)]
Add CMK_MULTICORE to conv-mach-opt.mak through the configure script

This change is required to make CMK_MULTICORE available to
makefiles for skipping tests/examples which cannot be run on

Change-Id: I5fb8fff07216b438789e47d8b2dee5b4d5047c6f

2 years agoZC RO Bcast Example: Add testcases for +p1 and +p6 01/5101/7
Nitin Bhat [Tue, 16 Apr 2019 20:14:56 +0000 (15:14 -0500)]
ZC RO Bcast Example: Add testcases for +p1 and +p6

+p1 testcase is a single process run and +p6 testcase exercises
intermediate nodes.

Change-Id: Icb3b58789c163a8ea66e03ef0d393601048dbcbd

2 years agoZC RO Bcast: Deallocate objects and de-register buffers after completion 00/5100/8
Nitin Bhat [Tue, 16 Apr 2019 20:12:23 +0000 (15:12 -0500)]
ZC RO Bcast: Deallocate objects and de-register buffers after completion

Change-Id: Icc6c52d47d1c04bbb1904e9b53f4d4a92f9a3c52

2 years agoZC RO Bcast: Allocate structures for ack handling only on intermediate nodes 99/5099/6
Nitin Bhat [Tue, 16 Apr 2019 17:54:39 +0000 (12:54 -0500)]
ZC RO Bcast: Allocate structures for ack handling only on intermediate nodes

Change-Id: I9489859819b859be575c2ef2b93320dd36d7f806

2 years agoZC RO Bcast: Wait for RO Rdma Ops to complete only on Rank 0 98/5098/4
Nitin Bhat [Wed, 17 Apr 2019 22:44:00 +0000 (17:44 -0500)]
ZC RO Bcast: Wait for RO Rdma Ops to complete only on Rank 0

Change-Id: Ic7be6e55e0412d1908da7a46e5b4495ebd7ba5c2

2 years agoZC RO Bcast: Initialize _numPendingRORdmaTransfers with numZerocopyROops 97/5097/4
Nitin Bhat [Tue, 16 Apr 2019 17:50:28 +0000 (12:50 -0500)]
ZC RO Bcast: Initialize _numPendingRORdmaTransfers with numZerocopyROops

Previously, _numPendingRORdmaTransfers was initialized to 0 and
incremented inside the readonlyGet method, which was called when
the RO variable was being unpacked. This caused a race condition
where the the first RDMA Get operation could be completed before
_numPendingRORdmaTransfers was incremented again for a second RO
variable. Hence, this fix initializes _numPendingRORdmaTransfers
before launching any RDMA operations to avoid completion of an
RDMA operation before _numPendingRORdmaTransfers is initialized
to the total number of RDMA RO variables.

Change-Id: Ie53ee802c3eabfbb2d0c3cf57776a9365fa050a7

2 years agoZC RO Bcast: Fix envelope retrieval in charmxi for RO static arrays 03/5103/1
Nitin Bhat [Wed, 17 Apr 2019 21:01:00 +0000 (16:01 -0500)]
ZC RO Bcast: Fix envelope retrieval in charmxi for RO static arrays

The previous code was erroneous and gave an offsetted pointer.

Change-Id: I6bc514827a6dfb60e813502ad73da55014e441ec

2 years agoAMPI: Fix CmiReference in AmpiSeqQ::putOutOfOrder 90/5090/2
Evan Ramos [Mon, 15 Apr 2019 21:03:44 +0000 (16:03 -0500)]
AMPI: Fix CmiReference in AmpiSeqQ::putOutOfOrder

Change-Id: I8265f6fb9a5e1a0445f652c9185bee702b9f3c7c

2 years agoTests: Add CmiInitMsgHeader calls for non-CmiAlloc message allocations 94/5094/3
Nitin Bhat [Mon, 15 Apr 2019 21:28:56 +0000 (16:28 -0500)]
Tests: Add CmiInitMsgHeader calls for non-CmiAlloc message allocations

Change-Id: If269b7c43738c5ff05bb26c88187f47c5f4bf9a8

2 years agoRTS: Add CmiInitMsgHeader calls for non-CmiAlloc message allocations 93/5093/2
Nitin Bhat [Mon, 15 Apr 2019 20:10:25 +0000 (15:10 -0500)]
RTS: Add CmiInitMsgHeader calls for non-CmiAlloc message allocations

Change-Id: I2fc32cf462150dbae6f7ac00baf6656da9b7900f

2 years agoConverse: Remove explicit initializations of zcMsgType 92/5092/2
Nitin Bhat [Mon, 15 Apr 2019 19:59:07 +0000 (14:59 -0500)]
Converse: Remove explicit initializations of zcMsgType

Since zcMsgType field is initialized to the default value
(CMK_REG_NO_ZC_MSG) inside CmiAlloc, there is no need to explicitly
set zcMsgType for messages allocated using CmiAlloc. This patch
removes these explicit (and duplicate) initializations from the
Converse RTS (convcore.C and cputopology.C).

Change-Id: Ib39a079d50dca20c0a3c3ede2376851d0dbfdf4d

2 years agoConverse: Add API to initialize converse message header fields 91/5091/2
Nitin Bhat [Mon, 15 Apr 2019 19:49:29 +0000 (14:49 -0500)]
Converse: Add API to initialize converse message header fields

void CmiInitMsgHeader(void *msg, int size) is the newly added method
that allows a user to set the converse message fields to desired
defaults. Currently, only zcMsgType is being set to CMK_REG_NO_ZC_MSG
inside CmiInitMsgHeader. This initialization is performed internally
for all allocations made using CmiAlloc and CmiRdmaAlloc. It needs
to be explicitly called for Charm++/Converse message allocations made
without these calls.

Change-Id: I843dbe5264cfbf6efc755ef781f36974ef533da0

2 years agochange Redmine to GitHub URLs 89/5089/1
Matthias Diener [Sun, 14 Apr 2019 16:49:56 +0000 (11:49 -0500)]
change Redmine to GitHub URLs

Change-Id: I3497b9baff4994dc6b7544b536227e9a78eaebf5

2 years agoZcpy API: Set default zcMsgType to CMK_REG_NO_ZC_MSG 86/5086/2
Nitin Bhat [Sun, 14 Apr 2019 02:11:37 +0000 (21:11 -0500)]
Zcpy API: Set default zcMsgType to CMK_REG_NO_ZC_MSG

This default initialization is performed inside CmiAlloc and
CmiRdmaAlloc for all allocations of size greater than
CmiMsgHeaderSizeBytes. For non-message allocations, since the
value of CMK_REG_NO_ZC_MSG is 0, it is equivalent to performing
a memset of those bits to 0.

Change-Id: I61eae7a4c0d604301ac14ccf68de3b72ad4bb7cc

2 years agoZC Bcast API for multicore builds: Add zcMsType:2 to conv-common.h 87/5087/1
Nitin Bhat [Sat, 13 Apr 2019 21:58:51 +0000 (16:58 -0500)]
ZC Bcast API for multicore builds: Add zcMsType:2 to conv-common.h

Change-Id: I5e6e813299b83a354943f458c67c7b2fc6c4d9a9

2 years agoAMPI: Optimize behavior of AmpiMsgPool::newAmpiMsg 83/5083/6
Evan Ramos [Fri, 12 Apr 2019 19:20:07 +0000 (14:20 -0500)]
AMPI: Optimize behavior of AmpiMsgPool::newAmpiMsg

1. Compare the requested length with the true size of individual
messages instead of the pool's msgLength.
2. When allocating new messages that are smaller than msgLength, use
msgLength as their true size so they are eligible for reuse in the pool.

Change-Id: If3a8f05eed7a0a798146ed22aadf195f8b9dcdcf

2 years agoAMPI: Fix AmpiMsgPool::deleteAmpiMsg conditional 80/5080/8
Evan Ramos [Fri, 12 Apr 2019 19:02:09 +0000 (14:02 -0500)]
AMPI: Fix AmpiMsgPool::deleteAmpiMsg conditional

Change-Id: I6669c6852c966cf0963bce642350218f9cf0b0d8

2 years agoAMPI: Fix AmpiMsg::pup 82/5082/3
Evan Ramos [Fri, 12 Apr 2019 18:55:25 +0000 (13:55 -0500)]
AMPI: Fix AmpiMsg::pup

Change-Id: I8d6538c3d989345fd75ae7323e1e4b983bd95998

2 years agoPup numZerocopyROops in RODataMsg after recovering from a failure 84/5084/4
Nitin Bhat [Fri, 12 Apr 2019 17:54:12 +0000 (12:54 -0500)]
Pup numZerocopyROops in RODataMsg after recovering from a failure

This patch fixes autobuild failues caused by crashes in tests/charm++/chkpt
for mpi and verbs targets.

Change-Id: I47f2a0c2cdb0660e2d3b152f7f1bded38ad1b9f5

2 years agoDocumentation #1638: Fix documentation for populateInitial 56/5056/7
Eric Mikida [Tue, 2 Apr 2019 23:49:29 +0000 (19:49 -0400)]
Documentation #1638: Fix documentation for populateInitial

Also adds a simple example for defining array maps with populateInitial.

Change-Id: Ia99c920ad1a0ec4c9ade0c1cfa104dafcf3b4fbf

2 years agoBug #1688: Core Dump file not available unless `--disable-charmdebug` is used while... 78/5078/2
Kavitha Chandrasekar [Thu, 11 Apr 2019 18:54:03 +0000 (13:54 -0500)]
Bug #1688: Core Dump file not available unless `--disable-charmdebug` is used while building.

Generate core dump files when charm is built without --with-production option
or if CmiNumNodes()<=32. Added to netlrts, mpi and verbs builds.

Change-Id: I97dbbfec7aa41604e898a042b8154c5ad23f3c16

2 years agoDefine CMK_TYPEDEF_{INT1,UINT1} for layers without <stdint.h> 81/5081/1
Nitin Bhat [Fri, 12 Apr 2019 15:50:47 +0000 (10:50 -0500)]
Define CMK_TYPEDEF_{INT1,UINT1} for layers without <stdint.h>

These layers include multicore-arm7, mulicore-arm8, pami-bluegeneq,
and pami-linux-ppc64le.

Change-Id: I10d32b6d0f56d17964bed614a077a84467ef776c

2 years agoAdd cmaMsgType field in the converse message header of some layers 77/5077/2
Nitin Bhat [Thu, 11 Apr 2019 18:57:29 +0000 (13:57 -0500)]
Add cmaMsgType field in the converse message header of some layers

The original change is This change adds
the field to other machine layers that were missed out in the original patch.

Change-Id: Ib33bda727077081d489c4fe374d6a89e75859e1d

2 years agoZcpy Bcast Send API: Guard ZC API macros for non-RDMA layers 76/5076/2
Nitin Bhat [Thu, 11 Apr 2019 18:24:44 +0000 (13:24 -0500)]
Zcpy Bcast Send API: Guard ZC API macros for non-RDMA layers

Change-Id: I7d97a948ce5fc8a3b4ee9be06f088fd06bd5f7ad

2 years agoZcpy Bcast Send API : Send singleton chare messages as a P2P message 75/5075/2
Nitin Bhat [Thu, 11 Apr 2019 17:33:08 +0000 (12:33 -0500)]
Zcpy Bcast Send API : Send singleton chare messages as a P2P message

Change-Id: Ia1b94f9671e4f2008852bcc20f1f91b670503d30

2 years agoZcpy Bcast Send API: Fix condition for marking BCAST messages 74/5074/2
Nitin Bhat [Thu, 11 Apr 2019 16:33:53 +0000 (11:33 -0500)]
Zcpy Bcast Send API: Fix condition for marking BCAST messages

Change-Id: I2c4be8705dc7aa02459f7ad51484a2f847bfbd27

2 years agoFix compiler warnings thrown by Zero Copy API patches merged so far 72/5072/1
Nitin Bhat [Wed, 10 Apr 2019 21:25:45 +0000 (16:25 -0500)]
Fix compiler warnings thrown by Zero Copy API patches merged so far

Change-Id: Ic2203d9a62553f252266060cfb44199c7bc5cb3c

2 years agoDo not setObjPtr for nodegroup messages 10/4910/13
Nitin Bhat [Fri, 18 Jan 2019 21:58:44 +0000 (15:58 -0600)]
Do not setObjPtr for nodegroup messages

Previously, on receiving nodegroup messages, 'setObjPtr' was called
to set the local object pointer in the received message. This was later
used to invoke the entry method on the local object (by calling
'getObjPtr'). Calling 'setObjPtr' sets the ptr field in the union
variable called 'type', overwriting the CkGroupID field of the union.

For supporting the Zerocopy Post API for nodegroups, this CkGroupID field
was necessary to be retained correctly in the envelope. For this reason,
this patch does not call 'setObjPtr' and instead directly passes the local obj
ptr to 'invokeEntry' method without having the need to set/get the local
obj pointer in the envelope. Additionally, nodegroup messages do not
have their type set to 'ForChareMsg' anymore and the function
'_processForChareMsg' is removed from the code as it is no longer used.

Change-Id: Id2eb75e9f08719d8c9e2f42261abf711e25694c4

2 years agoDisable CMK_ONESIDED_IMPL for pamilrts-bluegeneq 40/5040/6
Nitin Bhat [Mon, 25 Mar 2019 18:03:12 +0000 (13:03 -0500)]
Disable CMK_ONESIDED_IMPL for pamilrts-bluegeneq

The zerocopy broadcast API fails during the zerocopy transfer of
large readonly variables, with the following error:
devices/shmem/shaddr/BgqShaddr.h<330> .. Kernel_Physical2Virtual(), rc = 2

Previously, CMK_ONESIDED_IMPL was disabled for pamilrts-bluegeneq-smp.
With this commit, the zerocopy API is disabled for pamilrts until
these issues are fixed.

Change-Id: Ifb3e08cec6c03b4d300ca133071994ccf3079b25

2 years agoFeature #1742: Use ZC infrastructure for bcast of large readonly variables 37/4637/27
Nitin Bhat [Fri, 5 Oct 2018 21:17:12 +0000 (17:17 -0400)]
Feature #1742: Use ZC infrastructure for bcast of large readonly variables

A macro CMK_ONESIDED_RO_THRESHOLD is used to specify the threshold
which represents the size in bytes over which the Zerocopy API is used
to broadcast the large readonly variables. Currently, it is defined
in src/arch/util/lrts-common.h. In the future, it has to be a layer
dependent macro that is computed based on experiments and defined in

Change-Id: I261345f2e8bc1520c6b67f08ae8abf79f9534ce3

2 years agoZcpy Bcast Sender-side API: Add a ping_all benchmark 00/4900/9
Nitin Bhat [Wed, 16 Jan 2019 16:55:19 +0000 (11:55 -0500)]
Zcpy Bcast Sender-side API: Add a ping_all benchmark

Change-Id: I66d9fe9a4326adc013cfa38340e7aae5d43102fe

2 years agoZcpy Bcast Sender-side API: Add examples for each registration mode 80/4680/18
Nitin Bhat [Wed, 10 Oct 2018 15:12:40 +0000 (11:12 -0400)]
Zcpy Bcast Sender-side API: Add examples for each registration mode

Change-Id: I9cc4ec2366bc5f270302cae286e43c0fa194e31a

2 years agoZcpy Bcast Sender-side API: Add a large buffer bcast benchmark 16/3816/36
Nitin Bhat [Tue, 2 Oct 2018 18:26:03 +0000 (14:26 -0400)]
Zcpy Bcast Sender-side API: Add a large buffer bcast benchmark

Co-authored-by: Evan Ramos <>
Change-Id: I33190301d75e27623281cd40556b45ae8e9f8c1b

2 years agoInitialize zcMsgType for all message allocations 49/4949/8
Nitin Bhat [Fri, 8 Feb 2019 19:48:05 +0000 (13:48 -0600)]
Initialize zcMsgType for all message allocations

zcMsgType is a converse header field used for identifying
zero copy messages (P2P_SEND, BCAST_SEND etc) from regular
charm messages (NO_ZC). For that reason, it is required to
initialize all allocated messages to NO_ZC to ensure that
they are not treated like zero copy messages.

Change-Id: I110769b2185c650c14c53a456bd4b687d4787783

2 years agoChange CmiUInt2 msgType to CmiUInt1 cmaMsgType:2 in conv-common.h 24/4924/8
Nitin Bhat [Fri, 25 Jan 2019 21:18:04 +0000 (15:18 -0600)]
Change CmiUInt2 msgType to CmiUInt1 cmaMsgType:2 in conv-common.h

msgType was used to identify messages for usage of CMA in SHM transport
for regular Charm++ messages. This patch reduces the size of msgType to
a 2 bit sized unsigned integer field and renames the field to cmaMsgType.

Change-Id: I77547f5bf4d0e15ee61315093632a8c0bfddca2c

2 years agoFeature #1834: Zerocopy Broadcast Sender-side API 95/4395/35
Nitin Bhat [Fri, 5 Oct 2018 19:39:48 +0000 (15:39 -0400)]
Feature #1834: Zerocopy Broadcast Sender-side API

Add support to broadcast a large buffer using the Zerocopy API
to multiple recipients. Uses memcpy, CMA or RDMA internally
depending upon the the location of the recipient. The received
buffer is Readonly. This change uses the existing infrastructure
and tree algorithm used for broadcasting regular messages.

Change-Id: Ib9b1be1a52c9cf488cec7f4052f949f14c0bbbb0

2 years agoMake ZC EM API pingpong benchmarks accept user params and add a warmup phase 99/4899/8
Nitin Bhat [Wed, 16 Jan 2019 18:02:17 +0000 (13:02 -0500)]
Make ZC EM API pingpong benchmarks accept user params and add a warmup phase

Change-Id: I161dfb4b112ceb4b7d70cff6818b963974262f72

2 years agoExtend FPU POINTER test in to check for fpregs 70/5070/2
Juan Galvez [Wed, 10 Apr 2019 14:55:22 +0000 (09:55 -0500)]
Extend FPU POINTER test in to check for fpregs

On some systems, like Raspberry Pi 32 bit, the fpregs field
does not exist, and compiling conv-core/threads.c with

Change-Id: I61ef166e989ec25622fb31328e185d00c3b515bb

2 years agodoc: clean up syntax highlighting 69/5069/3
Matthias Diener [Tue, 9 Apr 2019 21:36:25 +0000 (16:36 -0500)]
doc: clean up syntax highlighting

- always put language explicitly, not via '::'
- fix a few misidentified code block languages
- use 'c++' language instead of 'cpp', 'c', 'C'

Change-Id: Ie40bc67ed1385aef3b59f7c1ac6c38e16f108758

2 years agodoc: fix bash code blocks 66/5066/3
Matthias Diener [Tue, 9 Apr 2019 18:44:14 +0000 (13:44 -0500)]
doc: fix bash code blocks

- tag them with the correct code-blocks statement
- consistently use '$' instead of '>' as the prompt

Change-Id: I354b6cb65af62687e6a98b4df7693bc688f59d60

2 years agodoc: cleanup manual titles 64/5064/3
Matthias Diener [Mon, 8 Apr 2019 20:41:58 +0000 (15:41 -0500)]
doc: cleanup manual titles

Change-Id: I10bc07ac84d2a98eb3c92ec8138646b165f49820

2 years agoFix Windows build failure in STLPUP example 63/5063/1
Evan Ramos [Mon, 8 Apr 2019 16:17:24 +0000 (11:17 -0500)]
Fix Windows build failure in STLPUP example

Change-Id: If5dc19d2d93008881d31f9a753bd79f4625a995e

2 years agoRevert addition of mpi-coexist to test rule 62/5062/3
Evan Ramos [Fri, 5 Apr 2019 19:19:09 +0000 (14:19 -0500)]
Revert addition of mpi-coexist to test rule

Originally added in commit 44d96eb8e463e64321c7c20677b3fee1b9864644.

Reason for revert: Several autobuild failures.

Change-Id: I7c196872250aa4dbd84296fd1303c96bf9d8a99e

2 years agoCleanup custom array index example and fix bad documentation 57/5057/3
Eric Mikida [Wed, 3 Apr 2019 21:29:21 +0000 (17:29 -0400)]
Cleanup custom array index example and fix bad documentation

Change-Id: I3a152278b6717d8887cca87b207a95b28f134580

2 years agoBug #1957: Out of bounds std::vector accesses in NDMeshStreamer 41/5041/4
Venkatasubrahmanian Narayanan [Tue, 26 Mar 2019 18:00:47 +0000 (13:00 -0500)]
Bug #1957: Out of bounds std::vector accesses in NDMeshStreamer

Fixed issue where NDMeshStreamer accessed elements out of bounds of
some internal std::vectors. The problem was triggered when the
checkForCompletedStages() method was invoked after all the stages had
been completed, and was exposed by the address sanitizer. An extra
check has been added to cover that case.

Change-Id: Ia8f42260544f80833c1718e13f24345b53b71186

2 years agoBug #2046: TRAM higher-dimensional chare array bugfixes 29/4929/9
Venkatasubrahmanian Narayanan [Mon, 28 Jan 2019 20:22:20 +0000 (14:22 -0600)]
Bug #2046: TRAM higher-dimensional chare array bugfixes

Fixed the implementation of TRAM to properly support
higher-dimensional chare arrays. Also made a minor change to the
interface file parser to emit code compatible with this implementation.

Change-Id: Ica0d87aa65f827ba9d47fa9e9053defa71a0146a

2 years agoSupport #1725: Improving pup_stl testing 49/3949/4
Samarth Kulshreshtha [Wed, 4 Apr 2018 23:44:35 +0000 (18:44 -0500)]
Support #1725: Improving pup_stl testing

* The PUP routine for std::vector has different specializations for
vector<bool> and vector<T> where T is an arithmetic type. Adding test
cases for int, bool and float.

Change-Id: I16710bff9c62b69c620411310d31f77f853b07af

2 years agobug #2056: unset MPI_LIB before building ROMIO 59/5059/1
Matthias Diener [Thu, 4 Apr 2019 17:11:27 +0000 (12:11 -0500)]
bug #2056: unset MPI_LIB before building ROMIO

This makes sure the ROMIO configure script actually
uses AMPI.

Change-Id: Id79935a0eb769b911e37f5b312dcd3c24462737a

2 years agoFix MPI interoperation example and add it to test script 51/5051/4
Eric Mikida [Mon, 1 Apr 2019 20:29:28 +0000 (16:29 -0400)]
Fix MPI interoperation example and add it to test script

Change-Id: I82a5c2ae77661b111ac465935e314b63cc133de1

2 years agoClean up mpi.h inclusion on Windows 58/5058/1
Evan Ramos [Thu, 4 Apr 2019 03:20:09 +0000 (22:20 -0500)]
Clean up mpi.h inclusion on Windows

Change-Id: Id9509211da7bf368a6a9b9f18834bea2fb9f304e

2 years agoampi: do not put mpi.h in include/ 45/5045/6
Matthias Diener [Thu, 28 Mar 2019 20:02:13 +0000 (15:02 -0500)]
ampi: do not put mpi.h in include/

Change-Id: I3b5d3f432a5790be805530782c83be1f5c4abd69

2 years agogpu: Actually fix PE to GPU mapping 42/5042/3
Michael Robson [Thu, 28 Mar 2019 16:05:07 +0000 (09:05 -0700)]
gpu: Actually fix PE to GPU mapping

The original commit queried the correct device but did not actually
set the corect device. This fixes that bug as well as setting the
correct device for non-zero threads in SMP mode.

Change-Id: I9ecc9ef0d771b1e2b2bfb9b7e4d18eb25e615b43

2 years agodoc: define missing label 44/5044/3
Matthias Diener [Thu, 28 Mar 2019 19:50:04 +0000 (14:50 -0500)]
doc: define missing label

Change-Id: I861eb7288194fc546753e620ee147bb6d45bc783

2 years agoCleanup unused code PPC64 timer code 47/5047/1
Ronak Buch [Thu, 28 Mar 2019 22:08:37 +0000 (17:08 -0500)]
Cleanup unused code PPC64 timer code

Change-Id: I91ff561626cb2132e9dee50b92e17fdde4c845a3

2 years agoDoc: Add types to function signatures in Ccd section 46/5046/1
Ronak Buch [Thu, 28 Mar 2019 22:05:07 +0000 (17:05 -0500)]
Doc: Add types to function signatures in Ccd section

Change-Id: I4fc261b7c5b62541dbe774813572af9a61b5fd4b

2 years agodarwin: fix undefined context functions 39/5039/2
Matthias Diener [Fri, 22 Mar 2019 19:25:36 +0000 (14:25 -0500)]
darwin: fix undefined context functions

Change-Id: I48ede4613a01b872039440b30af19815211a2225

2 years agoAMPI: Cleanup of unimplemented functions 37/5037/3
Evan Ramos [Thu, 21 Mar 2019 19:59:45 +0000 (14:59 -0500)]
AMPI: Cleanup of unimplemented functions

- Move MPI --> AMPI renaming macros in ampi.h to that section
- Remove semicolons from AMPI_API_DEF_NOIMPL and AMPI_API_NOIMPL

Change-Id: Icec71d10c639c06176022402d4d32309a603b752

2 years agoisomalloc: remove unused code for darwin/PPC 36/5036/1
Matthias Diener [Thu, 21 Mar 2019 21:14:21 +0000 (16:14 -0500)]
isomalloc: remove unused code for darwin/PPC

This code has not been used since patch
8f189ff84487646e624570bd161d2601ce684829 from 2013,
which removed the CMK_MACOSX #define.
It was apparently necessary for Mac on PowerPC.

Change-Id: I64598d59072f66dae7f3670e1845d54257e0773e

2 years agoDocumentation #1908: Add documentation for more PUP::able macros 34/5034/3
Eric Mikida [Thu, 21 Mar 2019 19:10:32 +0000 (15:10 -0400)]
Documentation #1908: Add documentation for more PUP::able macros

Change-Id: I83118b12b38f3d7ac500a9e26bb64bf283ceba30

2 years agoCleanup #2054: Improving error messages for unregistered modules 33/5033/2
Venkatasubrahmanian Narayanan [Thu, 21 Mar 2019 16:59:44 +0000 (11:59 -0500)]
Cleanup #2054: Improving error messages for unregistered modules

Modified the error message given when a module is registered late
to reflect that it can also be triggered by not importing a module.

Change-Id: I1d3c3885c08113e346643bee95f13a5448707b8b

2 years agoAdd Kokkos vector addition example and move examples to new directory 75/4975/9
Jaemin Choi [Mon, 25 Feb 2019 06:59:12 +0000 (01:59 -0500)]
Add Kokkos vector addition example and move examples to new directory

Change-Id: I22b83d5b8a4cbc78a3186a9916afa622abd0758c

2 years agodarwin: do not use _XOPEN_SOURCE 35/5035/3
Matthias Diener [Thu, 21 Mar 2019 19:53:05 +0000 (14:53 -0500)]
darwin: do not use _XOPEN_SOURCE

_XOPEN_SOURCE was only used to support context
threads on Darwin but defining it causes compilation
problems with other libraries.

Change-Id: I921264f40ea0f228991d9cfe9166169a36d083d3

2 years agoFix warnings and errors in ampi_noimpl.C 31/5031/1
Evan Ramos [Wed, 20 Mar 2019 20:25:13 +0000 (15:25 -0500)]
Fix warnings and errors in ampi_noimpl.C

Change-Id: I87c4ed78882e9fc495b4a6b7be42315c20f3523d

2 years agoPrompt CUDA build as an option if NVCC is available 24/5024/3
Jaemin Choi [Sat, 16 Mar 2019 22:28:42 +0000 (18:28 -0400)]
Prompt CUDA build as an option if NVCC is available

Change-Id: I947dc83aa54a47833e4d0087be97458e5e855fd5

2 years agoModularize the Isomalloc stress test 19/5019/2
Evan Ramos [Wed, 13 Mar 2019 21:40:34 +0000 (16:40 -0500)]
Modularize the Isomalloc stress test

Change-Id: I45adb25e655d37e981de2dd60a55f35234ecac1f

2 years agoRevert "Make Boost uFcontext threads the default on all ppc64le builds" 30/5030/2
Jim Phillips [Tue, 19 Mar 2019 00:00:11 +0000 (19:00 -0500)]
Revert "Make Boost uFcontext threads the default on all ppc64le builds"

This reverts commit 45816e4971145c18e3157736c7240acaa19a8903.

Breaks NAMD integrator unless threaded code is built with -O0.

Change-Id: Ie6ada49f85a8d96d65dfd998c849a120e6c250de

2 years agoAMPI: implement all missing MPI functions to abort at runtime 26/5026/7
Matthias Diener [Mon, 18 Mar 2019 22:23:03 +0000 (17:23 -0500)]
AMPI: implement all missing MPI functions to abort at runtime

Change-Id: I1aeb0efd753d1d9be705dab95c59f8b740740b5c

2 years agogpu: Fix SMP process to GPU mapping 21/5021/4
Michael Robson [Thu, 14 Mar 2019 19:10:32 +0000 (12:10 -0700)]
gpu: Fix SMP process to GPU mapping

This patch preserves the round robin ordering of non-smp mode
while ensuring that separate SMP processes are mapped to distinct
GPUs, if they're available. Further work needs to be done to enable
topology and locality aware mapping and user sepcification.

Change-Id: Ief8d89d37bdffbbeae20608f75ec29afe3027ca8

2 years agoDocumentation: fix the formatting of netfem's rst manual 51/4951/6
Sam White [Thu, 14 Feb 2019 19:44:05 +0000 (13:44 -0600)]
Documentation: fix the formatting of netfem's rst manual

Co-authored-by: Evan Ramos <>
Change-Id: I483028e9dd7e8b4dc66d1ee0821e46406501f712

2 years agoDocumentation #1777: Document message types in Charm++ message handler code 22/5022/4
Nitin Bhat [Fri, 15 Mar 2019 14:49:22 +0000 (09:49 -0500)]
Documentation #1777: Document message types in Charm++ message handler code

Change-Id: Idf60bfd65f3bd74e1037aed72e6449284383a304

2 years agoUpdate README and charmc year from 2018 to 2019 25/5025/2
Ronak Buch [Mon, 18 Mar 2019 19:01:50 +0000 (14:01 -0500)]
Update README and charmc year from 2018 to 2019

Change-Id: Ib0bf66c75b614c79338ae9a4e2a22e16e579ceba

2 years agoRemove trailing spaces in 23/5023/1
Jaemin Choi [Sat, 16 Mar 2019 21:54:17 +0000 (17:54 -0400)]
Remove trailing spaces in

Change-Id: I1fd88d0d35679b717f0352eaed263dd004694170

2 years agoROMIO: Fix configure step portably 20/5020/4
Evan Ramos [Thu, 14 Mar 2019 17:24:09 +0000 (12:24 -0500)]
ROMIO: Fix configure step portably

Simple environment tests will be compiled as standalone binaries, and
MPI tests will be compiled with AMPI.

Revert "AMPI ROMIO: clean up configure output"

This reverts commit 119c2dec7477755f76c01d49cbc375455393a43e.

Partially revert "ROMIO: add "include mpi.h" to configure tests"

This reverts commit 0bc6c316da9c9d20cbdde8a053a95c32278aeb91.

Change-Id: I107878a6d7875abef419d7263414fb75ccc65904

2 years agoFixed getPETopoTreeEdges forming tree of logical nodes instead of PEs 14/5014/3
Juan Galvez [Wed, 13 Mar 2019 16:33:49 +0000 (11:33 -0500)]
Fixed getPETopoTreeEdges forming tree of logical nodes instead of PEs

Change-Id: I3528e963bac2b7b4ea81ffd6162c2841d4f15d21

2 years agoRoute ampif77 and ampif90 through ampiCC, factoring out duplicated code 87/4787/8
Evan Ramos [Wed, 7 Nov 2018 22:29:39 +0000 (16:29 -0600)]
Route ampif77 and ampif90 through ampiCC, factoring out duplicated code

Change-Id: I89430b1833d0cda8d3875e6b6a2142158701b3c4

2 years agoUpdate LZ4 to 1.8.3 15/5015/2
Evan Ramos [Wed, 13 Mar 2019 18:05:19 +0000 (13:05 -0500)]
Update LZ4 to 1.8.3

Change-Id: I741d1d2cbb25ef47930bafd868948c750ea80377

2 years agoFix CkExit for user driven interop mode 17/5017/3
Eric Mikida [Wed, 13 Mar 2019 19:18:51 +0000 (15:18 -0400)]
Fix CkExit for user driven interop mode

Change 4219 added the capability for CkExit to accept exit codes, but commented
out lines which enabled user driven mode to call the actual CkExit. This adds
those lines back, but updates them to point to the new CkExit macro accepting
zero arguments.

Change-Id: I805228a056f6485e4cc7c01798e2fce49f1084c5

2 years agoExpose CmiNumPhysicalNodes as CkNumPhysicalNodes to the user 04/5004/2
Jaemin Choi [Wed, 6 Mar 2019 23:18:42 +0000 (18:18 -0500)]
Expose CmiNumPhysicalNodes as CkNumPhysicalNodes to the user

Change-Id: I5c935a1e29394e9391e69daf27137e1aa97a532d