charm.git
2 years agoDocs: Review f90charm 11/4911/2
Evan Ramos [Mon, 21 Jan 2019 23:15:57 +0000 (17:15 -0600)]
Docs: Review f90charm

Change-Id: I04f4ae1dd0dab6160ac430e93bbf5e7fb90c1df5

2 years agodoc: add license 04/4904/3
Matthias Diener [Thu, 17 Jan 2019 20:27:00 +0000 (14:27 -0600)]
doc: add license

Change-Id: Ia56fddf226c5cb8c9ce33bfa538fce1d866f622c

2 years agoCkloop-hybrid: add authorship 06/4906/4
Matthias Diener [Thu, 17 Jan 2019 21:45:17 +0000 (15:45 -0600)]
Ckloop-hybrid: add authorship

Change-Id: I412f51ff93491656e58ba27471aafd5827faea01

2 years agocharmrun: do not show help on -h|-?|--help 01/4901/2
Matthias Diener [Wed, 16 Jan 2019 21:16:51 +0000 (15:16 -0600)]
charmrun: do not show help on -h|-?|--help

These flags are undocumented and interfere with the application in case
it uses -h etc. for something else.
Help is still shown on ++help.

Change-Id: I5aed5492632f5d21127c514e434a136d3d663067

2 years agoAdd hello example for basic Kokkos interoperability 35/4735/3
Jaemin Choi [Fri, 26 Oct 2018 03:34:31 +0000 (23:34 -0400)]
Add hello example for basic Kokkos interoperability

Change-Id: I6d1b99178bde1da819ab36be3d5b81a0eda2b703

2 years agoUpdate hwloc to v1.11.12 97/4897/3
Evan Ramos [Fri, 11 Jan 2019 20:18:37 +0000 (14:18 -0600)]
Update hwloc to v1.11.12

Change-Id: Ia3acd06a3f740c87a95133c002852c6a8bdc86c3

2 years agobuild: Fix duplication of compiler flags during hwloc configure setup 96/4896/3
Evan Ramos [Fri, 11 Jan 2019 21:45:11 +0000 (15:45 -0600)]
build: Fix duplication of compiler flags during hwloc configure setup

Change-Id: I25ab465476ae60fa32829c86712d491be6f5627d

2 years agobuild: Fix --no-build-shared option to properly cancel --build-shared 94/4894/2
Evan Ramos [Fri, 11 Jan 2019 21:43:18 +0000 (15:43 -0600)]
build: Fix --no-build-shared option to properly cancel --build-shared

Change-Id: I005f87a658d964a193f464f85e9058d5436761a4

2 years agobuild #1968: Don't build hwloc or QuickThreads shared objects when --build-shared... 93/4893/2
Evan Ramos [Fri, 11 Jan 2019 20:27:03 +0000 (14:27 -0600)]
build #1968: Don't build hwloc or QuickThreads shared objects when --build-shared is not specified

Change-Id: Iff678d7b53017e754be867db95535d41ac6dd86f

2 years agoCleanup: Replace all uses of CDECL and FDECL with CLINKAGE and FLINKAGE 85/4885/5
Evan Ramos [Fri, 4 Jan 2019 22:49:35 +0000 (16:49 -0600)]
Cleanup: Replace all uses of CDECL and FDECL with CLINKAGE and FLINKAGE

Change-Id: I819b937eea1ae2a0fa65d2f860e27a9cdd988788

2 years agocharm4py: support setting usesAtSync at array element creation 89/4889/2
Juan Galvez [Fri, 11 Jan 2019 17:43:41 +0000 (11:43 -0600)]
charm4py: support setting usesAtSync at array element creation

Change-Id: Id538896acc0bb84e5215dc23a46289cc9c65c701

2 years agoDoc: Converting latex to rst 24/3624/20
Matthias Diener [Mon, 17 Dec 2018 00:14:19 +0000 (18:14 -0600)]
Doc: Converting latex to rst

Rendered as HTML:
https://charm-rtd-test.readthedocs.io/en/latest/

Rendered as PDF:
https://media.readthedocs.org/pdf/charm-rtd-test/latest/charm-rtd-test.pdf

Wiki with more infos:
https://github.com/UIUC-PPL/charm/wiki/RST-manual

Change-Id: I5c1a04cd4d5dc90da4e62c8e49e3d8a19e40ac3b

2 years agoBug #2026: Improve handling of shared objects as linker input to charmc 84/4884/2
Evan Ramos [Fri, 4 Jan 2019 21:38:41 +0000 (15:38 -0600)]
Bug #2026: Improve handling of shared objects as linker input to charmc

Change-Id: I7f90b50432717acdc8428457075782c92d549102

2 years agoAMPI: add deprecated MPI_COMBINER_{HVECTOR_HINDEXED,STRUCT}_INTEGER 88/4888/1
Matthias Diener [Tue, 8 Jan 2019 21:44:25 +0000 (15:44 -0600)]
AMPI: add deprecated MPI_COMBINER_{HVECTOR_HINDEXED,STRUCT}_INTEGER

Necessary for newer ROMIO versions.

Change-Id: I9dec2440a9a746b3e99b29fd0eaa1cf5fc819e63

2 years agoResolve unknown option warnings from GCC due to -Wunused-private-field 81/4881/1
Evan Ramos [Thu, 3 Jan 2019 22:38:52 +0000 (16:38 -0600)]
Resolve unknown option warnings from GCC due to -Wunused-private-field

Change-Id: Id9e4926a8b0897fb6986ee907cbc15a8490426ac

2 years agoCleanup various sources of compiler warnings 78/4878/3
Sam White [Thu, 20 Dec 2018 22:07:23 +0000 (16:07 -0600)]
Cleanup various sources of compiler warnings

Change-Id: I3332663a0c0ac1f2df2af3cbc2ec3a9d30337163

2 years agoShrink size of cond-conds members since CcdUSERMAX defines the max value 77/4877/2
Sam White [Thu, 20 Dec 2018 18:54:29 +0000 (12:54 -0600)]
Shrink size of cond-conds members since CcdUSERMAX defines the max value

Change-Id: I0d6b8821464000d3b9c19aa62128b57039fa34e7

2 years agoRemove unused member variables from ckhashtable that caused compiler warnings 76/4876/2
Sam White [Thu, 20 Dec 2018 18:52:30 +0000 (12:52 -0600)]
Remove unused member variables from ckhashtable that caused compiler warnings

Change-Id: I018dd19193c812371692226a227cf93a40dc7154

2 years agoCleanup: silence compiler warnings about unused member variables 75/4875/2
Sam White [Thu, 20 Dec 2018 18:51:51 +0000 (12:51 -0600)]
Cleanup: silence compiler warnings about unused member variables

Change-Id: I969f74c27e0a8750c15180605227486c32bbf6ba

2 years agoFix compilation of pup_stl.h by including <random> 74/4874/1
Sam White [Thu, 20 Dec 2018 18:50:41 +0000 (12:50 -0600)]
Fix compilation of pup_stl.h by including <random>

Change-Id: I6a668d436df68537ca5fc5c16fefeed3231b6a37

2 years agoPUPable Random Number Engines 12/4612/4
Nischay Singh [Mon, 24 Sep 2018 21:06:15 +0000 (16:06 -0500)]
PUPable Random Number Engines

C++ 11 provides random number engines and
engine adaptors that are widely used
(presumably in Charm Applications).

This commit adds functionality to PUP
these engines and engine adaptors so that
the user canpreserve the state of these
engines and engine adaptors during the
migration of chares.

The commit makes the following six engines
and engine adaptors in Charm++:

Engines
-linear_congruential_engine(C++11)
-mersenne_twister_engine(C++11)
-subtract_with_carry_engine(C++11)
Engine Adaptors
-discard_block_engine(C++11)
-independent_bits_engine(C++11)
-shuffle_order_engine(C++11)

Read more about these on
https://en.cppreference.com/w/cpp/header/random

Algorithm:
While packing an engine, we extract the
state of the engine (String) and PUP it.
While unpacking, we create a new engine
and feed it the unpacked state (String).

Change-Id: I5a670c92f579ef0a1b807266a2c55dbbe30fc7be

2 years agoCleanup #2028: replace usage of deprecated std::mem_fun with lambdas 97/4797/11
Sam White [Fri, 9 Nov 2018 00:24:57 +0000 (18:24 -0600)]
Cleanup #2028: replace usage of deprecated std::mem_fun with lambdas

This change enables building Charm with -std=c++17.

Co-authored-by: Evan Ramos <evan@hpccharm.com>
Change-Id: Iccde00c7dee21335d56cd3e3d136da95a8b71965

2 years agoDocumentation #1302: Explain how to pass arbitrary arguments to mpiexec via charmrun 72/4872/2
Evan Ramos [Wed, 19 Dec 2018 20:15:51 +0000 (14:15 -0600)]
Documentation #1302: Explain how to pass arbitrary arguments to mpiexec via charmrun

Change-Id: Ic5283c461e4ee3984a4e19a576155171504c7367

2 years agoRemove unused previous ZC EM API code that is causing compilation errors 70/4870/2
Nitin Bhat [Wed, 19 Dec 2018 17:36:30 +0000 (09:36 -0800)]
Remove unused previous ZC EM API code that is causing compilation errors

This commit fixes the gni-cray{xc,xe} autobuild failures.

Change-Id: Ie809de6ca8bfc62593d768544b20208c22465f92

2 years agosupport: handle file rename s/convcore.c/convcore.C/ 51/4851/2
Eric Bohm [Thu, 6 Dec 2018 21:26:37 +0000 (15:26 -0600)]
support: handle file rename s/convcore.c/convcore.C/

Change-Id: If4bdbf59975e0d6d12d44a5717c982044965f88a

2 years agoCleanup #1980: Remove old RDMA API (CkDirect/CmiDirect) from charm and converse 03/4603/9
Nitin Bhat [Fri, 21 Sep 2018 19:47:36 +0000 (19:47 +0000)]
Cleanup #1980: Remove old RDMA API (CkDirect/CmiDirect) from charm and converse

Change-Id: Ic29c5e12d1b802e16be59def2c834285ca98c4b7

2 years agoCleanup #1980: Remove old RDMA API from Converse, netlrts & verbs 62/4662/4
Nitin Bhat [Mon, 8 Oct 2018 16:57:37 +0000 (12:57 -0400)]
Cleanup #1980: Remove old RDMA API from Converse, netlrts & verbs

This patch removes conv-onesided.{h,c} and its dependencies

Change-Id: Ie5449c6d930a6d55f4d6234eac01238bd2bf60c8

2 years agoCleanup #1980: Remove the old pencilfft library and a related example 02/4602/9
Nitin Bhat [Fri, 21 Sep 2018 19:22:07 +0000 (19:22 +0000)]
Cleanup #1980: Remove the old pencilfft library and a related example

Pencilfft library used the CmiDirect Manytomany API. A newer charm fft
library can be used instead of the pencilfft library.

Change-Id: I767eb70673f7d201e4c88d7ebd8ad7e7f4efabba

2 years agoCleanup #1980: Remove CmiDirect ManytoMany API from pami/pamilrts layers 01/4601/11
Nitin Bhat [Fri, 21 Sep 2018 19:19:53 +0000 (19:19 +0000)]
Cleanup #1980: Remove CmiDirect ManytoMany API from pami/pamilrts layers

Change-Id: I77202aa23f41718e5c54d62312bde00498ae59a8

2 years agoCleanup #1980: Remove old RDMA API (CmiDirect) from the verbs layer 00/4600/11
Nitin Bhat [Fri, 21 Sep 2018 19:46:50 +0000 (19:46 +0000)]
Cleanup #1980: Remove old RDMA API (CmiDirect) from the verbs layer

Change-Id: I82a4ca5bead7d4812e01b9e8538c3752c9d5c25b

2 years agoPose: Use standard style for manual title page 66/4866/1
Matthias Diener [Sun, 16 Dec 2018 21:38:49 +0000 (15:38 -0600)]
Pose: Use standard style for manual title page

Change-Id: Ifaa2ac709d89df7f59d6159f674c15f6171fdba1

2 years agoAMPI: small doc fixes 65/4865/1
Matthias Diener [Sat, 15 Dec 2018 22:55:22 +0000 (16:55 -0600)]
AMPI: small doc fixes

Change-Id: Ia713658a8587109767390eaffe0334f61aa70fb2

2 years agoCleanup #1980: Remove old RDMA API (CmiDirect) from the gni layer 99/4599/11
Nitin Bhat [Fri, 21 Sep 2018 19:45:09 +0000 (19:45 +0000)]
Cleanup #1980: Remove old RDMA API (CmiDirect) from the gni layer

Change-Id: I943053aa726c1e86bed47568b98cdab5c02e7537

2 years agoInitialize the uninitialized variable 'firstRdma' in ZC API charmxi code 61/4861/1
Nitin Bhat [Thu, 13 Dec 2018 20:00:15 +0000 (14:00 -0600)]
Initialize the uninitialized variable 'firstRdma' in ZC API charmxi code

This uninitialized variable was storing garbage values on windows builds
and causing erroneous code to be produced by charmxi for the ZC Entry
Method API. This commit fixes the mpi-win & multicore-win autobuild
failures.

Change-Id: I26105f2950be5b82369ef5492acb2750cd4ca578

2 years agoRemove CMK_ONESIDED_DIRECT_IMPL as it is the same as CMK_ONESIDED_IMPL 60/4860/1
Nitin Bhat [Wed, 12 Dec 2018 19:44:51 +0000 (13:44 -0600)]
Remove CMK_ONESIDED_DIRECT_IMPL as it is the same as CMK_ONESIDED_IMPL

With the ZC Entry Method API being internally implemented using the
the ZC Direct API, both the macros are synonymous and there's no need
to have a separate macro for the ZC Direct API.

Change-Id: I31ab7f490bfc03f0409cd599e5d458a882ace82f

2 years agoEnable ZC Direct API for multicore builds to support the refactored ZC EM API 59/4859/2
Nitin Bhat [Wed, 12 Dec 2018 18:42:05 +0000 (12:42 -0600)]
Enable ZC Direct API for multicore builds to support the refactored ZC EM API

This commit removes the unused ZC EM API from multicore builds.
Additionally, this commit resolves the multicore build failure
seen in last night's autobuild.

Error message:
../../../../bin/charmc -g -Werror=vla  -o lbObject.o lbObject.C
/scratch/autobuild/multicore/charm/multicore-linux-x86_64/bin/../lib/libck.a(init.o):
In function `_initCharm(int, char**)':
/scratch/autobuild/multicore/charm/multicore-linux-x86_64/tmp/init.C:1293:
undefined reference to `CmiSetEMNcpyAckHandler'
/scratch/autobuild/multicore/charm/multicore-linux-x86_64/bin/../lib/libck.a(ckrdma.o):
In function `handleReverseEntryMethodApiCompletion(ncpystruct*)':
/scratch/autobuild/multicore/charm/multicore-linux-x86_64/tmp/ckrdma.C:639:
undefined reference to `CmiInvokeRemoteAckHandler'
collect2: error: ld returned 1 exit status

Change-Id: I8b05d7253458cd49d253d112e73e112873f312c2

2 years agoZerocopy EM API: Added examples for each registration mode 29/4529/23
Nitin Bhat [Thu, 30 Aug 2018 17:45:06 +0000 (13:45 -0400)]
Zerocopy EM API: Added examples for each registration mode

Change-Id: I6e9c33e647a27c1721f84ae4c13b8fdb7085c9e0

2 years agoZerocopy API: Add an example with std::vector 59/4559/10
Nitin Bhat [Mon, 10 Sep 2018 16:42:37 +0000 (09:42 -0700)]
Zerocopy API: Add an example with std::vector

Change-Id: I55d83b8d82ce9074538756f519928d772d2b854a

2 years agoZerocopy Entry Method API: use Zerocopy Direct API internally 59/4259/51
Nitin Bhat [Tue, 2 Oct 2018 19:43:52 +0000 (14:43 -0500)]
Zerocopy Entry Method API: use Zerocopy Direct API internally

This patches cleans up all the zerocopy entry method api code and
eliminates the redundant machine layer implementations.
It also gives the Entry Method API already developed capabilities
of the Direct API such as CMA, operation modes and use of pre-registered
buffers.

Change-Id: I6ac812bc31f8c0615ad8cf75ea943620e3495e4f

2 years agoAMPI: correct AMPI_Win_{g,s}et_info tracing names 56/4856/2
Matthias Diener [Mon, 10 Dec 2018 04:40:36 +0000 (22:40 -0600)]
AMPI: correct AMPI_Win_{g,s}et_info tracing names

Change-Id: I44223e645f4ee6f3f35e615fc6700284c5511f1e

2 years agoAMPI #954: update mpich-test to mpich-3.2, add no-op defs of unimplemented features 13/1813/27
Sam White [Sun, 28 Aug 2016 04:11:00 +0000 (23:11 -0500)]
AMPI #954: update mpich-test to mpich-3.2, add no-op defs of unimplemented features

Change-Id: Ice71a89045f0a9b2e24cbeaf1690bc493a762fb4

3 years agoAMPI: make ampif.h compilable as line-extended fixed format 54/4854/4
Sam White [Fri, 7 Dec 2018 15:50:51 +0000 (09:50 -0600)]
AMPI: make ampif.h compilable as line-extended fixed format

Change-Id: I4c4f66d67f0cf38261744405bdc3f95be06f07ba

3 years agoFind ifort's for_main.o on more systems 53/4853/4
Sam White [Fri, 7 Dec 2018 15:27:06 +0000 (09:27 -0600)]
Find ifort's for_main.o on more systems

Change-Id: I1f43f44469ce8e172a2448871c9d32309597a7d8

3 years agoDocumentation: update AMPI's tlsglobals section for Fortran 52/4852/11
Sam White [Fri, 7 Dec 2018 00:31:19 +0000 (18:31 -0600)]
Documentation: update AMPI's tlsglobals section for Fortran

Change-Id: I1b70eb52decf6bdb9e9324af2d078f354fc0ef60

3 years agoAMPI: add more Fortran global/static variables to the privatization test 50/4850/7
Sam White [Thu, 6 Dec 2018 20:13:59 +0000 (14:13 -0600)]
AMPI: add more Fortran global/static variables to the privatization test

Change-Id: Ibd7c89096320cfacccb7d9ec5e27fd9d0015cd93

3 years agoOptimize and cleanup zerocopy/entry_method_api/stencil3d example 19/4819/5
Nitin Bhat [Wed, 21 Nov 2018 19:30:06 +0000 (13:30 -0600)]
Optimize and cleanup zerocopy/entry_method_api/stencil3d example

Previously, the ghost arrays were allocated and deleted for every
iteration. With this commit, they are allocated once in the
constructor and reused for every iteration. This significantly
improves the execution time of the application.

Other changes include removing stray tabs and indenting the code.

Change-Id: I89c1c03adce4ee8ca65f5251c2d29d5d6c803abe

3 years agoCleanup pedantic compiler warning about format specifier 49/4849/1
Sam White [Wed, 5 Dec 2018 15:14:35 +0000 (09:14 -0600)]
Cleanup pedantic compiler warning about format specifier

Change-Id: I2464c55bc266bacee9d30b6d2d2501cee7165dab

3 years agoAMPI: ensure that MPI_Bcast msgs can't be matched to pt2pt requests 89/4789/8
Sam White [Thu, 8 Nov 2018 00:08:21 +0000 (18:08 -0600)]
AMPI: ensure that MPI_Bcast msgs can't be matched to pt2pt requests

- Expose the Amm's pool size to its users so that the pool is minimized
  for the bcast queues.

Change-Id: If744afb5ca4daaa101d0449b856bb4d966c0a910

3 years agoAMPI: make bcast's [nokeep] and reference the msg when unexpected 72/4672/15
Sam White [Tue, 9 Oct 2018 18:33:26 +0000 (13:33 -0500)]
AMPI: make bcast's [nokeep] and reference the msg when unexpected

- [nokeep] means one msg is delivered per PE, rather than one per rank.

- If bcast is expected and in-order, receive can happen straight away.

- If out-of-order or unexpected, we reference the msg, enqueue it, and
  it is processed and freed later upon matching.

Change-Id: I37e6df5ce0c8109662e7400eeb970e305937f65e

3 years agoAMPI: remove redundant worldStruct and lift blockingReq into ampiParent 78/4678/8
Sam White [Wed, 10 Oct 2018 03:23:06 +0000 (22:23 -0500)]
AMPI: remove redundant worldStruct and lift blockingReq into ampiParent

Change-Id: Idc42678eb811f9fbd1e06a7274d1b5151cb75677

3 years agoAMPI: set blockingReq before contributing to a reduction 69/4669/13
Sam White [Tue, 9 Oct 2018 01:50:47 +0000 (20:50 -0500)]
AMPI: set blockingReq before contributing to a reduction

Set ampiParent::resumeOnColl and ampi::blockingReq before contributing
in case completion of the collective happens inline.

Change-Id: I7d52582940d3945bfed73f63abcf24f9119a9fa8

3 years agoAMPI: shrink size of gather(v) and non-commutative redn msgs for comm sizes <64K 41/4841/4
Sam White [Fri, 30 Nov 2018 19:21:53 +0000 (13:21 -0600)]
AMPI: shrink size of gather(v) and non-commutative redn msgs for comm sizes <64K

For communicators with less than or equal to 64K ranks, we can fit the
rank of the contributor into an unsigned short int rather than an int
in the concat reduction msg. This applies to all (I)(All)Gather(v)
calls and all non-commutative reductions.

At its most effective (for a communicator with size 64K), this reduces
the final CkReductionMsg's size by 128KB.

Change-Id: I58024f14bcf861c20e159eea366bfd2ec532d90e

3 years agoAMPI: use concat rather than set reducer for gather(v)-like reductions 67/4667/11
Sam White [Tue, 9 Oct 2018 00:09:29 +0000 (19:09 -0500)]
AMPI: use concat rather than set reducer for gather(v)-like reductions

Use concat for gather, gatherv, and noncommutative reductions. The set
reducer adds unnecessary memory overhead compared to concat, since each
contribution has an int size along with it. For gather's and
noncommutative reductions this is straightforward because the
contribution sizes are all the same, while with gatherv's we add a
separate tuple reduction to keep track of contribution sizes.

Change-Id: Ied154413696c140e4a25325bb7787cab1febaed5

3 years agoTCharm: use FastArrayMap rather than PropMap by default 97/4697/11
Sam White [Tue, 16 Oct 2018 19:59:39 +0000 (14:59 -0500)]
TCharm: use FastArrayMap rather than PropMap by default

- Set static insertion to true and anytime migration to false to get
  FastArrayMap in the default case.

- Clean up print statements at startup about which map is being used.

Change-Id: I77a2bca67f6dd0911f1c51ab6d2f446ef1ef1561

3 years agoAMPI: cleanup AmpiRequestPool implementation and usage 16/4816/6
Sam White [Mon, 19 Nov 2018 00:47:38 +0000 (18:47 -0600)]
AMPI: cleanup AmpiRequestPool implementation and usage

Change-Id: Ib69844e24e8f9b40305411549e5ddef246580889

3 years agoUpdate LRTS template to use Boost fcontext ULTs 31/4831/3
Sam White [Wed, 28 Nov 2018 20:24:13 +0000 (14:24 -0600)]
Update LRTS template to use Boost fcontext ULTs

Change-Id: Id6e00593000cdd56ab27372c211a00bb41959fb3

3 years agoUse an enum for registration modes used in the Zerocopy API 46/4646/2
Nitin Bhat [Tue, 2 Oct 2018 18:54:11 +0000 (14:54 -0400)]
Use an enum for registration modes used in the Zerocopy API

Previously, the registration modes in Converse/Machine layers
were defined as preprocessor directives (macros). Implementing
them as enums is cleaner and more maintainable. The enum could
be converted to a typed enum following the C->C++ conversion.

Change-Id: Ib01272eb863b36444ba63a02778d80fc65157f77

3 years agoAdd a header common to all architectures and machine layers 45/4645/2
Nitin Bhat [Tue, 2 Oct 2018 17:27:48 +0000 (13:27 -0400)]
Add a header common to all architectures and machine layers

The header is src/arch/common/conv-mach-common.h

Change-Id: Ic97f4d6ee57788766668f92df3df7abcc80f3122

3 years agoRemove examples/charm++/load_balancing from bigsim tests 43/4843/1
Nitin Bhat [Mon, 3 Dec 2018 17:43:09 +0000 (11:43 -0600)]
Remove examples/charm++/load_balancing from bigsim tests

Bigsim autobuild has been crashing because of the example failure.
Removing this example will keep the bigsim autobuild smoothly
running until it is entirely deprecated.

Change-Id: I89bd526dc09d8c0df3e3a6ecd7e389e90243bc2a

3 years agoUse () rather than {} for value initialization of Cpv variables 42/4842/2
Jim Phillips [Fri, 30 Nov 2018 20:57:16 +0000 (14:57 -0600)]
Use () rather than {} for value initialization of Cpv variables

Work around bug #2035 xlC not supporting new t[n]{}

Change-Id: I1de8429f8063ea8cc48f71510e28eeeb6d5114ca

3 years agoAdded API to query current reduction number of Group and Array elements 38/4838/5
Juan Galvez [Thu, 29 Nov 2018 22:01:04 +0000 (16:01 -0600)]
Added API to query current reduction number of Group and Array elements

Change-Id: Icb9f96298a2e30e12f70bb931990c7b520c56fd9

3 years agoRemove tests/charm/pingpong from bigsim tests 37/4837/1
Nitin Bhat [Thu, 29 Nov 2018 21:48:18 +0000 (15:48 -0600)]
Remove tests/charm/pingpong from bigsim tests

Recent modifications to test/charm++/pingpong in order to
transition to the new zerocopy API has caused the test to
fail bigsim builds because of improper translation of
CkpvAccess calls. Removing this test will keep the bigsim
autobuild smoothly running until it is entirely deprecated.

Change-Id: Ifdca0ba2d14056b85bbd9d97d30fb8e084a32058

3 years agocharisma-doc: remove illegal characters 36/4836/2
Matthias Diener [Thu, 29 Nov 2018 20:17:13 +0000 (14:17 -0600)]
charisma-doc: remove illegal characters

Change-Id: I8eb985e329488690aaab9267d8a1212e37858f26

3 years agoBug #2032: Fix additional C++ conversion build errors on BG/Q 34/4834/1
Evan Ramos [Thu, 29 Nov 2018 18:46:41 +0000 (12:46 -0600)]
Bug #2032: Fix additional C++ conversion build errors on BG/Q

Change-Id: Iefcae45065062d8512d43728316dc7a8813c6eb0

3 years agoBug #2032: Fix C++ conversion build errors 25/4825/2
Evan Ramos [Tue, 27 Nov 2018 16:42:07 +0000 (10:42 -0600)]
Bug #2032: Fix C++ conversion build errors

Change-Id: Id339d12523accc50e86b3232b2bc99aa56b27746

3 years agoDocumentation: Correct the stated execution context of initproc methods 27/4827/1
Evan Ramos [Tue, 27 Nov 2018 19:20:53 +0000 (13:20 -0600)]
Documentation: Correct the stated execution context of initproc methods

Change-Id: Id6feb80b1b7edc3c9ead83f1b6ba983cbb6977a4

3 years agoOptimize and cleanup examples/charm++/load_balancing/stencil3d 18/4818/5
Nitin Bhat [Wed, 21 Nov 2018 17:49:12 +0000 (11:49 -0600)]
Optimize and cleanup examples/charm++/load_balancing/stencil3d

Previously, the ghost arrays were allocated and deleted for every
iteration. With this commit, they are allocated once in the
constructor and reused for every iteration. This significantly
improves the execution time of the application.

Other changes include removing stray tabs and indenting the code.

Change-Id: I18d7b7fc8d2f0c97e13c8b2e18534e0d1f089802

3 years agoZC Direct API: Pass completion status as the return value for get and put 11/4611/8
Nitin Bhat [Tue, 9 Oct 2018 18:32:24 +0000 (14:32 -0400)]
ZC Direct API: Pass completion status as the return value for get and put

CkNcpyStatus::complete is returned for memcpy and cma transfers
indicating successful completion and CkNcpyStatus::incomplete is
returned for rdma transfers indicating that the data transfer is
in-progress and not necessarily complete.

Change-Id: I7d9bb65dd2473d8d0e1f1e58fb7c2eeb257cd47c

3 years agoFeature #195: Remove ckdirect examples 96/4596/7
Nitin Bhat [Fri, 21 Sep 2018 14:01:06 +0000 (09:01 -0500)]
Feature #195: Remove ckdirect examples

Change-Id: I15b8a9cbb69f0e64dae3768f76a6915e9ec5ada0

3 years agoFeature #195: Delete example which uses older RDMA API: examples/charm++/onesided 95/4595/7
Nitin Bhat [Thu, 20 Sep 2018 22:54:53 +0000 (17:54 -0500)]
Feature #195: Delete example which uses older RDMA API: examples/charm++/onesided

The example illustrates the usage of the older RDMA API by
performing a Put or a Get operation, with or without callbacks.
This is already illustrated in the newer Zerocopy Direct API examples
which can be found in examples/charm++/zerocopy/direct_api. To avoid that
redundancy, I am in favor of deleting this example rather than
resurrecting it with the newer API.

Change-Id: I9528364f1486c284df0c5c66025c6827ce0f90e1

3 years agoFeature #195: Modify old RDMA API usage in tests/charm++/pingpong 94/4594/8
Nitin Bhat [Thu, 20 Sep 2018 22:34:48 +0000 (17:34 -0500)]
Feature #195: Modify old RDMA API usage in tests/charm++/pingpong

The previous CkDirect API was replaced by the new Zerocopy
Direct API which uses CkNcpyBuffers.

Change-Id: Ie38370f17f5030464ba2361499ea8982f425ec5b

3 years agoRename isomalloc.c to isomalloc.C 90/4590/9
Evan Ramos [Mon, 10 Sep 2018 19:14:51 +0000 (14:14 -0500)]
Rename isomalloc.c to isomalloc.C

Change-Id: Iad40c75811f3eb12621730934dc66b0b9c55e1e6

3 years agoClean up C89-style variable declarations in mempool 40/4540/2
Evan Ramos [Thu, 30 Aug 2018 22:57:31 +0000 (17:57 -0500)]
Clean up C89-style variable declarations in mempool

Change-Id: Icb88add5cf137752d0c4115ae8cd8c8b096fe0dc

3 years agoRename mempool.c to mempool.C 39/4539/2
Evan Ramos [Thu, 30 Aug 2018 22:20:54 +0000 (17:20 -0500)]
Rename mempool.c to mempool.C

Change-Id: I4d91cbfee89426f462c8d49deb710282be3ca551

3 years agoApply DEBUG_PRINT cleanup to mempool.c 38/4538/2
Evan Ramos [Thu, 30 Aug 2018 22:26:36 +0000 (17:26 -0500)]
Apply DEBUG_PRINT cleanup to mempool.c

Change-Id: I1f9652e9ac1162eec342cb007760652da663a7d9

3 years agoclang-format the mempool 37/4537/2
Evan Ramos [Thu, 30 Aug 2018 22:18:49 +0000 (17:18 -0500)]
clang-format the mempool

Change-Id: Ibc3f3fdfa9a94f21d48d2d6378dbd189e2fcfe72

3 years agoAdd --with-mempool-cutoff=N to build and configure scripts 94/4394/9
Evan Ramos [Tue, 24 Jul 2018 17:10:07 +0000 (12:10 -0500)]
Add --with-mempool-cutoff=N to build and configure scripts

Change-Id: I6092aa11d6b72c2e26d940de0da98ad6c1630acc

3 years agoFeature #1921: Do not use pooling for large Mempool allocations (>64 MB) 74/1874/52
Nikhil Jain [Fri, 23 Sep 2016 22:59:54 +0000 (17:59 -0500)]
Feature #1921: Do not use pooling for large Mempool allocations (>64 MB)

This lessens the amount of physical memory fragmentation/waste for
Mempool and for Isomalloc when it uses Mempool (this is the default).

Co-authored-by: Evan Ramos <evan@hpccharm.com>
Change-Id: I0acffdbb2d24497c64216c411e03296738a01025

3 years agoApply minor cleanup to mempool 21/4321/40
Evan Ramos [Mon, 4 Jun 2018 21:29:06 +0000 (16:29 -0500)]
Apply minor cleanup to mempool

Change-Id: I9fb2f54826a2c5909aa9674327ca0c0d37fb2212

3 years agoFeature #1184: Use std::atomic_int for CmiReference / CmiFree 08/4108/29
Evan Ramos [Wed, 2 May 2018 20:38:41 +0000 (15:38 -0500)]
Feature #1184: Use std::atomic_int for CmiReference / CmiFree

Change-Id: I53e944e1b9eb3bc443d94ea06685e882a7bfce9f

3 years agoRename {convcore,debug-conv}.c to .C 42/4142/26
Evan Ramos [Mon, 7 May 2018 20:53:35 +0000 (15:53 -0500)]
Rename {convcore,debug-conv}.c to .C

Change-Id: I0c3ae5c679a4901db3496c107c5ddd7e9fa76d9e

3 years agocharmc: avoid error messages about charmrun during parallel builds 93/4793/3
Sam White [Thu, 8 Nov 2018 20:04:37 +0000 (14:04 -0600)]
charmc: avoid error messages about charmrun during parallel builds

Change-Id: If0910eefa4a882e028147a1b0427ec51c93f0259

3 years agoAdd v6.9.0 release notes 60/3260/34 charm-6.9.0 v6.9.0
Sam White [Tue, 7 Nov 2017 17:59:40 +0000 (11:59 -0600)]
Add v6.9.0 release notes

Change-Id: I84d84513db410939f3db5641c5db9daf7689537e

3 years agoAdded charm4py build target, renamed charmpy to charm4py in comments 04/4804/2
Juan Galvez [Fri, 9 Nov 2018 19:27:52 +0000 (13:27 -0600)]
Added charm4py build target, renamed charmpy to charm4py in comments

Change-Id: I048fc027597282cc3fe2fb8a7dfc4b1d384a40e9

3 years agobugfix: provide html.sty and symlink to fix markup 98/4798/2
Eric Bohm [Fri, 9 Nov 2018 02:46:11 +0000 (20:46 -0600)]
bugfix: provide html.sty and symlink to fix markup

latex2html html.sty file is not found by texlive based latex.
Keeping a copy in repository and linking to have it in cwd
fixes image generation for special symbols.  This is a workaround
to support clean manual generation until we migrate manual
generation away from latex2html.

Change-Id: Ifec033c279ba8dd439a92d357acc45f1c5442d69

3 years agoUpdate README.ampi 02/4802/3
Sam White [Fri, 9 Nov 2018 16:24:50 +0000 (10:24 -0600)]
Update README.ampi

Change-Id: Ib4c6d72928ff5aa28405ad6d3037af064d2efc15

3 years agoUpdate README's list of core developers 01/4801/2
Sam White [Fri, 9 Nov 2018 16:11:44 +0000 (10:11 -0600)]
Update README's list of core developers

Change-Id: I33c9bf216a1c28e6c38f8825395ff544991cf5fc

3 years agoDocumentation #1656: Update manual entries on Load Balancing strategies 94/4794/3
Kavitha Chandrasekar [Thu, 8 Nov 2018 20:05:54 +0000 (14:05 -0600)]
Documentation #1656: Update manual entries on Load Balancing strategies

Change-Id: I341036f583d18772a483bd03f8838ea364d0ec0c

3 years agoImprove the coverage and robustness of the AMPI/Isomalloc test 47/4647/11
Evan Ramos [Wed, 3 Oct 2018 01:54:30 +0000 (20:54 -0500)]
Improve the coverage and robustness of the AMPI/Isomalloc test

Change-Id: Ia0052370946ec87d81dcd49f15d5cc9fc9e6fd2b

3 years agocharmc: fix object cleanup when object is in a subdirectory 55/4755/4
Tim Haines [Tue, 30 Oct 2018 01:49:30 +0000 (20:49 -0500)]
charmc: fix object cleanup when object is in a subdirectory

If you have a directory layout like

src/
   foo/
      a.cpp
   a.cpp

compiling 'foo/a.cpp' from 'src' using
'charmc -c foo/a.cpp -o foo/a.o', object cleanup on line 1851 does
"rm -f foo/a.o a.f.o" instead of "rm -f foo/a.o foo/a.f.o".

Related to bug https://charm.cs.illinois.edu/gerrit/#/c/charm/+/4753/

Change-Id: I9f69235a27eaa2143394c48fc04153e4c73ca6e0

3 years agocharmc: Don't skip linking if user explicitly specified an output file 53/4753/5
Tim Haines [Tue, 30 Oct 2018 00:54:52 +0000 (19:54 -0500)]
charmc: Don't skip linking if user explicitly specified an output file

This allows generating dependencies while compiling

If you have a directory layout like

src/
   foo/
      a.cpp
   a.cpp

this changeset fixes a seemingly unrelated bug where compiling
'foo/a.cpp' from 'src' using
'charmc -MMD -MP -MF foo/a.d -c foo/a.cpp -o foo/a.o' produces
'src/a.o' instead of 'src/foo/a.o'- overwriting (or will be
overwritten by) the object generated by 'src/a.cpp'. This happens
because of the test 'if [ ! -z "$SKIPLINK" ]' on line 1854
(in this commit; 1848 in HEAD).

A simpler fix would be to not set SKIPLINK when a dependency flag is
read in 'processArgs'. However, that would change the meaning when
the user does not specify an output file (and linking should be
skipped) and wants to generate dependency files.

This bug likely never showed up because it works fine when the
source being compiled is in the same directory from which charmc is
invoked as most compiler's default output location is the pwd.

Change-Id: I8b28e64ba46f060039bd3c4f0e88b8d842ddb3bc

3 years agoFix bugs in GPU Manager documentation 68/4768/1
Jaemin Choi [Thu, 1 Nov 2018 21:40:23 +0000 (16:40 -0500)]
Fix bugs in GPU Manager documentation

Change-Id: I6533d23b189e39d3bedb8d52b918b4ece13c1eaa

3 years agoFix typo in ./build --help message 57/4757/2
Evan Ramos [Tue, 30 Oct 2018 17:38:25 +0000 (12:38 -0500)]
Fix typo in ./build --help message

Change-Id: I8801e8a0c2bec5cd73d884fc78d608b131884434

3 years agoAMPI: eliminate errors from ln command in ampi{f90,CC} wrappers 56/4756/6
Sam White [Tue, 30 Oct 2018 05:44:10 +0000 (00:44 -0500)]
AMPI: eliminate errors from ln command in ampi{f90,CC} wrappers

This gets rid of the following error message when doing parallel make
using ampi{f90,CC}: "ln: failed to create hard link './mpif.h': File exists".
And also allows using ampi{f90,CC} on a different file system than where
you built AMPI.

Change-Id: Ib7df9413f821fd8ee5d20700935ed6adb59db75a

3 years agoFix typo in partition error message 45/4745/2 v6.9.0-rc3
Jim Phillips [Mon, 29 Oct 2018 17:10:40 +0000 (12:10 -0500)]
Fix typo in partition error message

Change-Id: I5bd6630992bc5c90802b88041162029f6de36db6

3 years agoFix linking of Fortran main with icc/ifort 54/4754/3
Sam White [Tue, 30 Oct 2018 01:23:24 +0000 (20:23 -0500)]
Fix linking of Fortran main with icc/ifort

Change-Id: I09020d2469d6ac47032fc5ed971b9974e681e13d

3 years agoZC Direct API: Rename ncpyTransferMode enum to CkNcpyMode 74/4674/3
Nitin Bhat [Tue, 9 Oct 2018 18:55:18 +0000 (14:55 -0400)]
ZC Direct API: Rename ncpyTransferMode enum to CkNcpyMode

Change-Id: I23a40ee1c9afe7407b93e4dfd6a6314b5edb9068

3 years agoClean up configure.ac's behavior on Alpine Linux 52/4752/1
Evan Ramos [Mon, 29 Oct 2018 23:42:09 +0000 (18:42 -0500)]
Clean up configure.ac's behavior on Alpine Linux

This includes writing to the source of symlinks instead of the
destination, the latter of which evidently has implementation-defined
behavior.

Change-Id: I0736c44574bfd5ac43927f97f924bb46124566a8

3 years agoBug #2021: Test for the GNU malloc hooks during the configure step 44/4744/3
Evan Ramos [Mon, 29 Oct 2018 16:53:45 +0000 (11:53 -0500)]
Bug #2021: Test for the GNU malloc hooks during the configure step

Change-Id: I701c371a5a220f4f9bd432383558401630d52cdb

3 years agoBug #2020: Test `mpicxx -show` more robustly 43/4743/4
Evan Ramos [Mon, 29 Oct 2018 17:02:53 +0000 (12:02 -0500)]
Bug #2020: Test `mpicxx -show` more robustly

Change-Id: I5254e352010c9ffff87a5349c8056552a4217faf