13 days agobuild: fix travis MPI/SMP build 78/5178/2 charm github/charm
Matthias Diener [Wed, 8 May 2019 15:23:03 +0000 (10:23 -0500)]
build: fix travis MPI/SMP build

Change-Id: Ic87eeb0ce112096cbcba280177db2cc68345df2e

13 days agobuild: add Travis CI config file 73/5173/8
Matthias Diener [Tue, 7 May 2019 15:35:54 +0000 (10:35 -0500)]
build: add Travis CI config file

Change-Id: I22cb9301df0cde7c003ce67a454f6f6d33d8c8e1

13 days agoAMPI: Add fsglobals (filesystem) and pipglobals (Process-in-Process) privatization... 88/4788/36
Evan Ramos [Tue, 6 Nov 2018 22:34:37 +0000 (16:34 -0600)]
AMPI: Add fsglobals (filesystem) and pipglobals (Process-in-Process) privatization methods

Thanks to the authors of the following publication for providing the
insight that dlmopen(LM_ID_NEWLM, ...) in combination with a PIE binary
results in privatized global variables, implemented here as pipglobals.

Atsushi Hori, Min Si, Balazs Gerofi, Masamichi Takagi, Jai Dayal, Pavan
Balaji, and Yutaka Ishikawa. 2018. Process-in-process: techniques for
practical address-space sharing.  In Proceedings of the 27th
International Symposium on High-Performance Parallel and Distributed
Computing (HPDC '18). ACM, New York, NY, USA,  131-143. DOI:

Change-Id: Ie7ef57a9ea6ae03f458f0c87ed88624bd2f1f676

13 days agoEliminate direct calls from ampif.C to Charm++ or AMPI's internals 44/4844/25
Evan Ramos [Mon, 3 Dec 2018 19:08:31 +0000 (13:08 -0600)]
Eliminate direct calls from ampif.C to Charm++ or AMPI's internals

Change-Id: I8a6c7c8b1ee263f04daf49e3418b617a3bac16c1

13 days agoWrap all RTS functions exposed to AMPI programs in special macros 84/4784/27
Evan Ramos [Fri, 2 Nov 2018 18:38:28 +0000 (13:38 -0500)]
Wrap all RTS functions exposed to AMPI programs in special macros

Split these macro-wrapped function declarations into separate headers
for repeated inclusion using different definitions of the macros.

No functional changes.

Change-Id: I492edf98699330e82d1b7bdfceefaa2828bb6cb2

13 days agoCleanup some lock calls in machine-smp.c 57/4657/5
Evan Ramos [Fri, 5 Oct 2018 17:19:23 +0000 (12:19 -0500)]
Cleanup some lock calls in machine-smp.c

Change-Id: I71bc27defa3083c5387f68c0a8b50d2620232e63

13 days agoAdd Raja hello world and vector addition examples 41/5141/4
Jaemin Choi [Sun, 28 Apr 2019 22:45:18 +0000 (18:45 -0400)]
Add Raja hello world and vector addition examples

Change-Id: I192b68ff73d605ab6cbbb658a751edec37237bdd

2 weeks agocleanup: remove broken doc build option from Makefile 72/5172/3
Matthias Diener [Tue, 7 May 2019 15:28:19 +0000 (10:28 -0500)]
cleanup: remove broken doc build option from Makefile

Change-Id: If21402e2eea6486fb2e06991120857b25130ad90

2 weeks agoFix make bgtest in benchmarks 70/5170/2
Evan Ramos [Tue, 7 May 2019 13:56:15 +0000 (08:56 -0500)]
Fix make bgtest in benchmarks

Change-Id: I00a41031122549d4ae7b312f44ab5f43dd8dbb35

2 weeks agoZC API: Cleaning up ZC API examples 59/5159/3
Nitin Bhat [Fri, 3 May 2019 16:50:30 +0000 (11:50 -0500)]
ZC API: Cleaning up ZC API examples

Included major changes:
1. Matching new [] allocations with delete [] deallocations
2. Using CkDataMsg parameterized callback only when it is needed
3. Deleting CkDataMsg *m after receiving it in the callback

Change-Id: Ia298ebe500f4f9a2c8240898a807ed4b62f9cf56

2 weeks agoZC API: Add checks for ensuring that regMode and deregMode are valid 37/5137/3
Nitin Bhat [Fri, 26 Apr 2019 19:32:07 +0000 (14:32 -0500)]
ZC API: Add checks for ensuring that regMode and deregMode are valid

Change-Id: I13bea94d82ac6629ea07f6626d07cdab1fa21d2b

2 weeks agoZC EM API: Provide user control to not de-register buffers after completion 36/5136/3
Nitin Bhat [Thu, 25 Apr 2019 20:33:45 +0000 (15:33 -0500)]
ZC EM API: Provide user control to not de-register buffers after completion

In this commit, two modes for specifying de-registration mode were added.
These are CMK_BUFFER_DEREG and CMK_BUFFER_NODEREG. The de-registration mode
can be specified during the creation of CkNcpyBuffer, as a parameter inside the
CkSendBuffer method and inside Post Entry Method using the CkNcpyBufferPost object.

CMK_BUFFER_DEREG is the default mode which makes the RTS de-register the buffers
after the completion of the Zero Copy operation for ZC EM Send and Post API.

CMK_BUFFER_NODEREG is used to make the RTS skip de-registration of the buffers after the
completion of the Zero Copy operation. For the ZC Send API, specifying CMK_BUFFER_NODEREG
in CkSendBuffer ensures that the source buffer remains registered after the completion of
the operation. For the ZC Post API, in addition to specifying CMK_BUFFER_NODEREG in
CkSendBuffer, it can also be specified in the Post Entry Method using the CkNcpyBufferPost
object. This ensures that the destination buffer, which was posted by the user remains
registered after the completion of the operation.

Change-Id: I8be4f1dedb61b4b7a13f4e474a7cc0d3721d6d9e

2 weeks agoZC P2P Benchmark: Use CkSendBuffer over CkNcpyBuffer for ZC EM Send API 35/5135/2
Nitin Bhat [Thu, 25 Apr 2019 20:27:06 +0000 (15:27 -0500)]
ZC P2P Benchmark: Use CkSendBuffer over CkNcpyBuffer for ZC EM Send API

Change-Id: I7967ad91650b29f4eecfd282edf132063c17ac73

2 weeks agoZC API: Rename registration mode variable from mode to regMode 34/5134/2
Nitin Bhat [Thu, 25 Apr 2019 14:36:44 +0000 (09:36 -0500)]
ZC API: Rename registration mode variable from mode to regMode

Change-Id: I9984ae6a8d48fe69fb441a6d785313118a26f594

2 weeks agoZC API: Do not block CK_BUFFER_PREREG from de-registering in deregisterMem 33/5133/3
Nitin Bhat [Fri, 26 Apr 2019 18:43:42 +0000 (13:43 -0500)]
ZC API: Do not block CK_BUFFER_PREREG from de-registering in deregisterMem

At the generic layer (ckrdma.h), CK_BUFFER_PREREG buffers should be
allowed to de-register as they are implementation dependent. For example,
for GNI and Verbs, which support CK_BUFFER_PREREG, the de-registration
is blocked at the LRTS implementation. On the other hand, layers like
OFI which do not support CK_BUFFER_PREREG should be allowed to de-register
that buffer in the LRTS method.

Change-Id: I145277dfa3196658920b2c164df53a9865cf2464

2 weeks agoZC API: Allow CMK_BUFFER_UNREG buffers to be de-registered 32/5132/3
Nitin Bhat [Fri, 26 Apr 2019 18:42:42 +0000 (13:42 -0500)]
ZC API: Allow CMK_BUFFER_UNREG buffers to be de-registered

Change-Id: Ia183e53d752a2c21c7534b111101ee2b4721421d

2 weeks agoZC Bcast API: Perform source de-registration inside the RTS 31/5131/3
Nitin Bhat [Thu, 25 Apr 2019 22:31:39 +0000 (17:31 -0500)]
ZC Bcast API: Perform source de-registration inside the RTS

Change-Id: Iaea67bc8d89932e65af7296a67e420b4b963a1d1

2 weeks agoZC p2p API: Perform source de-registration inside the RTS 65/5065/17
Nitin Bhat [Tue, 9 Apr 2019 15:29:03 +0000 (10:29 -0500)]
ZC p2p API: Perform source de-registration inside the RTS

Change-Id: I1b13415344b2e898016587d664e46e7c126fe1ca

2 weeks agoAMPI: Add A-prefix renaming macros for MPI_Type_create_{d,sub}array 67/5167/1
Evan Ramos [Mon, 6 May 2019 19:46:11 +0000 (14:46 -0500)]
AMPI: Add A-prefix renaming macros for MPI_Type_create_{d,sub}array

Change-Id: I0ac88233a5f070630b3ac960ea83c28c42fccc20

2 weeks agoCleanup #1872: Move performance tests to new benchmark directory 18/4218/16
Evan Ramos [Fri, 3 Aug 2018 18:33:09 +0000 (13:33 -0500)]
Cleanup #1872: Move performance tests to new benchmark directory

The following tests have been moved:


Additionally, tests/charm++/queue has been split into benchmark and test components.

Co-authored-by: Shane Neary <>
Change-Id: Ic1121d27543d7d7cd7ca25e6ee96e48f02c58e0a

2 weeks agoDocumentation: update list of current developers in README and manual 62/5162/4
Sam White [Fri, 3 May 2019 20:38:01 +0000 (15:38 -0500)]
Documentation: update list of current developers in README and manual

Change-Id: I03d8e08354ef9ac4c799f176498b3c5cf70b29c5

2 weeks agoFix building AMPI+CUDA 61/5161/1
Evan Ramos [Fri, 3 May 2019 17:50:44 +0000 (12:50 -0500)]
Fix building AMPI+CUDA

Broken since renaming convcore.c to .C in commit

Change-Id: If3a5f58933a2d5ca84d33f12fae1a4a12234f4d2

2 weeks agoAMPI: MPI_Type_create_darray, MPI_Type_create_subarray implementations 56/5156/8
Matthias Diener [Thu, 2 May 2019 18:34:45 +0000 (13:34 -0500)]
AMPI: MPI_Type_create_darray, MPI_Type_create_subarray implementations

Copied from mpich 3.2.1 with small modifications

Change-Id: I994ee7c6f6db66fb0f6031634f01997c5c167428

2 weeks agoTest more LB strategies 58/5158/2
Sam White [Thu, 2 May 2019 21:05:12 +0000 (16:05 -0500)]
Test more LB strategies

Change-Id: Id9fef92ebf0b7b691d320a0126bcb27c5a6ffe8e

2 weeks agoDistributedLB: avoid leaking memory from tuple reductions 57/5157/2
Sam White [Thu, 2 May 2019 20:58:58 +0000 (15:58 -0500)]
DistributedLB: avoid leaking memory from tuple reductions

Change-Id: I42c0002b1c7ae24962b0989ad8e06c2e9789e81e

2 weeks agoFix absent return types in comm thread tracing 53/5153/2
Evan Ramos [Wed, 1 May 2019 18:38:21 +0000 (13:38 -0500)]
Fix absent return types in comm thread tracing

Change-Id: I21262e843f0350e68f073c41ceea171a747b5251

2 weeks agoAMPI: copy to bin dir 54/5154/1
Matthias Diener [Wed, 1 May 2019 18:57:26 +0000 (13:57 -0500)]
AMPI: copy to bin dir

Change-Id: I7a71b770022d87748aa547206a73e39ee5563aad

2 weeks agoImprove const correctness of PE, node, and LDObjKey arrays 29/5129/2
Evan Ramos [Fri, 26 Apr 2019 18:55:16 +0000 (13:55 -0500)]
Improve const correctness of PE, node, and LDObjKey arrays

Change-Id: Iedb8e9ceb777caa052319948fb235d6ab4b6b6c9

2 weeks agoFix C++ transition issues in tracing 50/5150/1
Evan Ramos [Wed, 1 May 2019 14:36:36 +0000 (09:36 -0500)]
Fix C++ transition issues in tracing

Change-Id: I14ad7755d2d3e680fb9581f0d2d763256a8ad533

3 weeks agoFeature #1987: Take advantage of streamable reductions inside CkMulticast 28/5128/10
raghavendrak [Fri, 26 Apr 2019 18:31:54 +0000 (13:31 -0500)]
Feature #1987: Take advantage of streamable reductions inside CkMulticast

Change-Id: Ie60ea5ebd28d67177071c1cda222ad62701d6d69

3 weeks agoFix Kokkos interoperability manual 47/5147/2
Jaemin Choi [Tue, 30 Apr 2019 04:09:51 +0000 (00:09 -0400)]
Fix Kokkos interoperability manual

Change-Id: Ia8dbb26fc298a3cc774b4aa71b21fa2e337b62c7

3 weeks agoCharmrun: Fix combination of ++scalable-start and ++batch 44/5144/5
Evan Ramos [Mon, 29 Apr 2019 16:23:19 +0000 (11:23 -0500)]
Charmrun: Fix combination of ++scalable-start and ++batch

Change-Id: I25997dc953277affa551a48d6440900e5bc31a48

3 weeks agoCharmrun: Implement ++no-* for flag-type parameters 45/5145/4
Evan Ramos [Mon, 29 Apr 2019 18:03:51 +0000 (13:03 -0500)]
Charmrun: Implement ++no-* for flag-type parameters

For example, ++no-scalable-start.

Change-Id: Iccc1374d8fc88ff7addbb0af172171fa9e90f1d2

3 weeks agoDocumentation #2023: Documentation on Kokkos interoperability 40/5140/2
Jaemin Choi [Sun, 28 Apr 2019 19:39:04 +0000 (15:39 -0400)]
Documentation #2023: Documentation on Kokkos interoperability

Change-Id: Ie69a944393be9d0124a7ebaffa0dd960a6286138

3 weeks agoAdd CUDA mempool test example 96/5096/12
Jaemin Choi [Mon, 15 Apr 2019 22:52:30 +0000 (18:52 -0400)]
Add CUDA mempool test example

Change-Id: I216fdf4c8075c4d6344433dfbacbdc1407c81e10

3 weeks agoFeature #2068: Dynamic GPU mempool support 88/5088/12
Jaemin Choi [Sun, 14 Apr 2019 04:08:43 +0000 (00:08 -0400)]
Feature #2068: Dynamic GPU mempool support

Change-Id: Id35f36e7a9e40ac9e5cc9abcf6cf94c13ecedd3c

3 weeks agoZC Direct API: Reset counter immediately in pingpong examples 46/5146/2
Nitin Bhat [Mon, 29 Apr 2019 18:45:59 +0000 (13:45 -0500)]
ZC Direct API: Reset counter immediately in pingpong examples

Previously, the counter was reset inside endGetGetPingpong and this
caused an occasional hang in the execution because the incremented counter
value never reached the desired value. This issue is fixed by resetting
the counter immediately inside the beginGetGetPingpong method. This
patch fixes the multicore-linux-x86_64 hang seen in last night's
autobuild(29th April, 2019).

Change-Id: Iedc460aeb11438f06945f3b2697879bf17cfcf86

3 weeks agoCleanup: Avoid passing XLC parameters to native GCC on Blue Gene 43/5143/1
Evan Ramos [Mon, 29 Apr 2019 15:49:29 +0000 (10:49 -0500)]
Cleanup: Avoid passing XLC parameters to native GCC on Blue Gene

Change-Id: Idb7cbd1eeb81b9622d15c4e711f53a6e961a2ace

3 weeks agoLink conv-cpm as C++ 42/5142/1
Evan Ramos [Mon, 29 Apr 2019 15:44:59 +0000 (10:44 -0500)]
Link conv-cpm as C++

Change-Id: Ic39b64a1d93f1d284442ce863e4a0c4a6022de95

3 weeks agoAddition of XI-Builder, a library front-end for XLAT-I. 18/5118/4
Justin Szaday [Wed, 24 Apr 2019 18:17:46 +0000 (13:17 -0500)]
Addition of XI-Builder, a library front-end for XLAT-I.

Change-Id: I72caad641c5372a38d74849edd54169f789d9eef

3 weeks agocharmc: Set default linking language to C++ 38/5138/4
Evan Ramos [Sun, 28 Apr 2019 17:30:33 +0000 (12:30 -0500)]
charmc: Set default linking language to C++

Change-Id: Icd707548d58bd4440b2c03bdcedab807ea131107

3 weeks agoFix more C++ transition issues 39/5139/3
Evan Ramos [Sun, 28 Apr 2019 17:36:54 +0000 (12:36 -0500)]
Fix more C++ transition issues

Change-Id: I5f73758ca6be61e5d728d980d4b3c26621b9a2dc

3 weeks agoFix additional C++ transition issues 26/5126/6
Evan Ramos [Fri, 26 Apr 2019 17:46:53 +0000 (12:46 -0500)]
Fix additional C++ transition issues

Change-Id: I7cb91e2cea05bddf174e6dc8d49476f9bdceda37

3 weeks agohwloc: Disable OpenCL support 27/5127/2
Evan Ramos [Fri, 26 Apr 2019 17:51:16 +0000 (12:51 -0500)]
hwloc: Disable OpenCL support

Change-Id: I3c556d1a01f32479351692c97397c431c536aa12

3 weeks agoFix -Wstrict-prototypes warnings 25/5125/1
Evan Ramos [Fri, 26 Apr 2019 18:04:03 +0000 (13:04 -0500)]
Fix -Wstrict-prototypes warnings

Change-Id: I91f7aa870314542e36501b832c7799771a9652ae

3 weeks agoFix warning: "_GNU_SOURCE" redefined 24/5124/1
Evan Ramos [Fri, 26 Apr 2019 17:52:14 +0000 (12:52 -0500)]
Fix warning: "_GNU_SOURCE" redefined

Change-Id: I79f045a37a408cd30711f4b8a8826f714f62eeb9

3 weeks agoZC Bcast Post API: Add guard for resetting envelope type and ep 23/5123/2
Nitin Bhat [Fri, 26 Apr 2019 16:35:13 +0000 (11:35 -0500)]
ZC Bcast Post API: Add guard for resetting envelope type and ep

This fixes the megampi crashes in multicore and ofi-linux-x86_64-smp

Change-Id: I989075233d28c93105e328c30f1122a6a274f2ce

3 weeks agoRestore support for older MS MPI include path 22/5122/1
Evan Ramos [Fri, 26 Apr 2019 17:04:26 +0000 (12:04 -0500)]
Restore support for older MS MPI include path

Change-Id: Ic2e6bd7752a1a2125c947fdf9dc83a4db180f4f1

3 weeks agoAdditional C linkage cleanup 73/5073/10
Evan Ramos [Thu, 11 Apr 2019 16:53:10 +0000 (11:53 -0500)]
Additional C linkage cleanup

Change-Id: Icba49e7f0321c6ac2b15e0c035ae19513cc4a8c7

3 weeks agoClean up C linkage specific to the C++ migration 83/4883/22
Evan Ramos [Fri, 4 Jan 2019 19:18:31 +0000 (13:18 -0600)]
Clean up C linkage specific to the C++ migration

These are the principles applied in this patch:

* Remove most instances of CMI_EXTERNC, since they were private to the
RTS and we no longer have a mix of C and C++ files.
* Replace remaining instances of CMI_EXTERNC with CLINKAGE
* Remove instances of extern "C" { } surrounding #includes
* Remove spurious instances of extern "C" at definition sites
* Ensure CLINKAGE/extern "C" is on the same line as what follows it,
whether it is a curly brace or a declaration, for improved greppability

extern "C" should always be attached to a declaration in a header in
order to avoid mismatches between definitions and callers elsewhere.

Change-Id: I4c6ef8351d53636e98cbc02e25048a851f05b790

3 weeks agoRename the majority of remaining C files in the RTS to C++ 82/4882/17
Evan Ramos [Fri, 4 Jan 2019 18:47:06 +0000 (12:47 -0600)]
Rename the majority of remaining C files in the RTS to C++

It is unlikely that this patch will pass verification, but all problems
should be fixed in subsequent patches merged at the same time, and I
prefer to keep the patches separate for better historical organization.

If this commit causes problems with git bisect, use a bisection script
and ensure it emits error code 125 when a build is unable to complete.
See for more

Change-Id: Iaaa03b3436ea4b2a69b4f4e5035e146be2199530

3 weeks 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

3 weeks 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

3 weeks 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

3 weeks 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

3 weeks 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

3 weeks 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

3 weeks 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

3 weeks 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

3 weeks 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

3 weeks 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

3 weeks 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

3 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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

5 weeks 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