6 years agoBug 823: Relax compiler requirements for AMPI Fortran apup interface 22/822/1
Sam White [Wed, 2 Sep 2015 23:37:51 +0000 (18:37 -0500)]
Bug 823: Relax compiler requirements for AMPI Fortran apup interface

Change-Id: If990c69dee37c6750414c0388802066e07b79f09

6 years agobuild: Fix shell test syntax error 21/821/1
Michael Robson [Mon, 31 Aug 2015 22:52:46 +0000 (17:52 -0500)]
build: Fix shell test syntax error

Change-Id: I3d775974c687639499b569124996674da9c92678

6 years agoFix a TCharm command line parsing issue related to bug 654 14/814/2
Eric Mikida [Mon, 24 Aug 2015 19:44:06 +0000 (14:44 -0500)]
Fix a TCharm command line parsing issue related to bug 654

Change-Id: I8f892d630bd24f1a643626a21b42659a84ea726d

6 years agoFix a thread safety issue with command line registration for bug 654 18/818/1
Eric Mikida [Wed, 26 Aug 2015 18:19:42 +0000 (13:19 -0500)]
Fix a thread safety issue with command line registration for bug 654

Change-Id: I320ad86cb3e14902215cb49a2cbe317dff36b214

6 years agoBug #788: fix out of tree CUDA build 09/809/2
Michael Robson [Mon, 17 Aug 2015 23:29:02 +0000 (18:29 -0500)]
Bug #788: fix out of tree CUDA build

Change-Id: Ia85254eca68396b3ae93f39b5e00a12495da75f2

6 years agoBug fix: open debugLog before LrtsInit 07/807/2
Nikhil Jain [Thu, 20 Aug 2015 16:55:47 +0000 (11:55 -0500)]
Bug fix: open debugLog before LrtsInit

Change-Id: Ie19239f2ff78ae0ae8a351402bf1562c55da9403

6 years agoClean up reductions section of manual. 96/796/2
Sam White [Wed, 19 Aug 2015 04:16:40 +0000 (23:16 -0500)]
Clean up reductions section of manual.

Change-Id: Ic2c98a1153dec451f773af4cdb241c992dc53ead

6 years agoAdd polished GPU Manager documentation to the libraries manual 06/806/2
Michael Robson [Fri, 27 Feb 2015 00:28:34 +0000 (18:28 -0600)]
Add polished GPU Manager documentation to the libraries manual

Change-Id: Ie3c4286b40592de8adca295e7ad0637bce7e5050

6 years agoRedo the fix for liveViz on 1 processor 04/804/4
Nikhil Jain [Wed, 19 Aug 2015 17:50:59 +0000 (12:50 -0500)]
Redo the fix for liveViz on 1 processor

Revert "Revert "Bug 619 liveViz does not work with 1 processor""
The fix has been reapplied since the error reporting that lead to its
revert was found to be incorrect.

This reverts commit 28284bb5e62196febdf7a72fce5cbba1e3613639.

Change-Id: I6b53b0de1a6f69a3115c6729416fd26075b7a87c

6 years agoAdding return type for main functions, required by clang 03/803/3
Harshit Dokania [Wed, 19 Aug 2015 17:31:37 +0000 (12:31 -0500)]
Adding return type for main functions, required by clang

Change-Id: I1a3084b3d41ce5e0187494432ef8c796cfb80c34

6 years agoRevert "Bug 619 liveViz does not work with 1 processor" 01/801/2
Nikhil Jain [Wed, 19 Aug 2015 16:47:19 +0000 (11:47 -0500)]
Revert "Bug 619 liveViz does not work with 1 processor"

This reverts commit 8e98977ffffa1b911f348c6d9016eaca0f539237.

Change-Id: Ibb135388a5c784c25f52bdb6a1e8a7c80b73c472

6 years agoRevert "Bug fix for missing ccsRunning variable" 00/800/1
Nikhil Jain [Wed, 19 Aug 2015 16:45:42 +0000 (11:45 -0500)]
Revert "Bug fix for missing ccsRunning variable"

This reverts commit c7563398d826b4ed56507499c72f7a883226ef4e.

Change-Id: Icc38ae2fa53cc0ae4575937fd2c43efe9005cf0b

6 years agoBug fix for missing ccsRunning variable 95/795/2
Xiang Ni [Tue, 18 Aug 2015 21:02:17 +0000 (16:02 -0500)]
Bug fix for missing ccsRunning variable

The earlier fix for ccs issue running on one PE breaks the compliation
of the programs using non-lrts build of Charm++. This is the fix for

Change-Id: I05f58cf4be3e9296f5939367c0d000e7c7926aa3

6 years agoAdds a table for registering command line arguments. 89/789/3
Eric Mikida [Mon, 17 Aug 2015 19:38:57 +0000 (14:38 -0500)]
Adds a table for registering command line arguments.

Also registers arguments for load balancing and tcharm.
Addresses redmine issue #654.

Change-Id: Ib4a0b7513110f7fff0f5af44d9efc9cf40e82636

6 years agoSimplify declaration syntax to avoid confusing CharmDebug's type parser 90/790/2
Phil Miller [Mon, 17 Aug 2015 19:42:24 +0000 (14:42 -0500)]
Simplify declaration syntax to avoid confusing CharmDebug's type parser

Change-Id: I61da5e4d3020670d31dedf1c9bd71103a97e8766

6 years agoBug #671: segfault at exit in multicore build 92/792/2
Eric Bohm [Mon, 17 Aug 2015 20:56:58 +0000 (15:56 -0500)]
Bug #671: segfault at exit in multicore build

Per, exit is not thread safe. LrtsExit had no allowances for safe thread handling in the no commthread multicore case. As a pure race condition on the process space global variable, sometimes calling exit would work.

Correct answer for the multicore case is to use pthread_exit. If you are the last thread, exit is called. Otherwise, the thread is cleaned up.

Change-Id: Ieff9b8d473467f47a1a00a2cf746da34205bc57b

6 years agoBug 619 liveViz does not work with 1 processor 94/794/4
Xiang Ni [Mon, 17 Aug 2015 22:14:33 +0000 (17:14 -0500)]
Bug 619 liveViz does not work with 1 processor

The bug is because the scheduler does not check if there are any incoming
messages if there is only 1 processor. The fix is to add a flag to notify
the scheduler when there is a ccs message and when running on 1 processor.
The scheduler will check the incoming message queue in that case.

Change-Id: Ifb024e79cfec712b6f3bc86681c3e4196b07db18

6 years agoClean up and fix errors for CkLoop documentation 91/791/3
Ronak Buch [Mon, 17 Aug 2015 19:48:02 +0000 (14:48 -0500)]
Clean up and fix errors for CkLoop documentation

Change-Id: Ieacb5e76071373360da511699fca8c614ff15324

6 years agoBug #809: Invoke cuda build when -cuda is passed 93/793/1
Michael Robson [Mon, 17 Aug 2015 22:10:19 +0000 (17:10 -0500)]
Bug #809: Invoke cuda build when -cuda is passed

Change-Id: Ieca8de57ed70222c43557a2f644dd146d478bb0e

6 years agobug #767: CtgGlobal typo in CpvInitialize calls 88/788/2
Eric Bohm [Mon, 17 Aug 2015 18:29:21 +0000 (13:29 -0500)]
bug #767: CtgGlobal typo in CpvInitialize calls

The typo does not currently matter because CpvInitialize does nothing
in non-SMP mode, and we do not support swapglobals in SMP mode.
Resolved two type warnings, by using unsigned int for loop variables,
so that these two files compile cleanly with -Wall

Change-Id: I63334b0b8a88f8d2883d61ee31031919ace16192

6 years agoLRTS pxshm clang: Fix linking errors from non-exported symbols 86/786/3
Phil Miller [Mon, 17 Aug 2015 15:34:47 +0000 (10:34 -0500)]
LRTS pxshm clang: Fix linking errors from non-exported symbols

Remove 'inline' markings that imply internal linkage according to the C
standard and thus can't be referenced externally. First noticed on
Mac OS/Darwin, where clang is the default compiler.

Change-Id: I623f25fbcf817177140b5dbde3b7d752ea24e7da

6 years agoBug #63: megacon memleak fix 87/787/1
Nikhil Jain [Mon, 17 Aug 2015 15:53:41 +0000 (10:53 -0500)]
Bug #63: megacon memleak fix

Fixed bugs include:
- CPM code generate should free the messages.
- Suspend call requires thread interface in the application.

Change-Id: I0d8f046f6011d07de48b4f94f891f6ad2a2ad071

6 years agoAvoid race condition in BigSim 71/771/4 prateek/conv-argo-mix
Nikhil Jain [Sat, 8 Aug 2015 21:56:28 +0000 (16:56 -0500)]
Avoid race condition in BigSim

Having disabled the stats collection, BG's exithandler and
CK's exithandler race; this commit disables broadcast of
CK's exithandler as it is not needed in BigSim. Instead
simply invoke BG's exithandler directly via Bgshutdown.

Change-Id: Ibcf74bb7114798927892ebfce7b8d6c0ebf499ee

6 years agoMinor clean up of README 85/785/3
Nikhil Jain [Thu, 13 Aug 2015 20:36:30 +0000 (15:36 -0500)]
Minor clean up of README

Change-Id: I05bc3abc151e99b33dbf997602f5768f0263e096

6 years agoBug #799: Remove unnecessary reduction reallocation message. 84/784/1
Ronak Buch [Mon, 10 Aug 2015 23:12:16 +0000 (18:12 -0500)]
Bug #799: Remove unnecessary reduction reallocation message.

Change-Id: Iaff5d3a1d05e745eb07691230b397484216114db

6 years agoTurn on preprocessing by default for ci files 69/769/4
Eric Mikida [Thu, 6 Aug 2015 23:43:17 +0000 (18:43 -0500)]
Turn on preprocessing by default for ci files

This addresses issue #656 in redmine

Change-Id: I408c4ec4ab734ffc1cd17bf6a09a4adad5181205

6 years agoDo not use HYPERCUBE for Bcast 68/768/4
Nikhil Jain [Thu, 6 Aug 2015 01:38:33 +0000 (20:38 -0500)]
Do not use HYPERCUBE for Bcast

All LRTS layers should fallback to default settings.

Change-Id: I87a763c13cf06b2ee3a312bacc736109d35ea2a7

6 years agoAdd API to ckloop to destroy ckloop helper chares. This is used for checkpoint restart 01/701/5
Harshitha [Wed, 29 Apr 2015 17:35:45 +0000 (12:35 -0500)]
Add API to ckloop to destroy ckloop helper chares. This is used for checkpoint restart

Change-Id: Id8bfafe8578e24d2c8e02e5231fabae737c5b0a0

6 years agoCleanup #674: Delete Comlib entirely 44/744/3
Phil Miller [Mon, 8 Jun 2015 19:01:34 +0000 (14:01 -0500)]
Cleanup #674: Delete Comlib entirely

Change-Id: I621fc06df55d09b2004e4a3eb610c73868d29973

6 years agoDrop PXSHM from MPI-based layers on Darwin 03/703/4
Phil Miller [Thu, 30 Apr 2015 18:28:24 +0000 (13:28 -0500)]
Drop PXSHM from MPI-based layers on Darwin

MPI layer doesn't need PXSHM since MPI handles IPC - delete spurious
conv-mach file

Change-Id: I604f2e6e664f7c8ed5c283f894874d2e2e1c7f29

6 years agoBug #661 SMP checkpoint/restart: Synchronize to prevent data races 14/514/7
Phil Miller [Mon, 9 Feb 2015 22:15:33 +0000 (16:15 -0600)]
Bug #661 SMP checkpoint/restart: Synchronize to prevent data races

Detected data races on various shared variables during CkRestartMain() using

Note that this changes the checkpoint file format incompatibly, because the
order of elements in the RO (readonly) file has changed.

Change-Id: I09533476ca4d1254c4ecaad15d14fcf70db9ab32

6 years agocharmxi: Allow setting CkArrayOptions on empty arrays, particularly for size bounds 42/742/4
Phil Miller [Thu, 4 Jun 2015 22:13:29 +0000 (17:13 -0500)]
charmxi: Allow setting CkArrayOptions on empty arrays, particularly for size bounds

Change-Id: I1902cd55edc0f0f7752036b89898715f94b4e7e2

6 years agoAMPI: Factor out more of creating new MPI_Comm objects 38/738/4
Phil Miller [Wed, 17 Sep 2014 22:29:49 +0000 (17:29 -0500)]
AMPI: Factor out more of creating new MPI_Comm objects

Change-Id: Id6308263b192b85853b1177af041134947c3223e

6 years agoAdd asynchronous array construction API for post-startup use cases 36/736/7
Phil Miller [Fri, 12 Sep 2014 16:08:37 +0000 (11:08 -0500)]
Add asynchronous array construction API for post-startup use cases

When a chare array is created using this API, the callback function
receives a message, m, that contains the array id (m->aid).

This is necessary to provide positive array manager group IDs.

In future, when 64 bit ID is adopted, we want the group IDs to be
limited to a smaller compact range, hence the need to create them on
PE0. This API will enable us to force that requirement.

Change-Id: I6c22dab40199374cd18e85a75a166713d3e90bb6

6 years agoFix a race condition in ckloop 67/767/4
Harshitha [Wed, 5 Aug 2015 19:12:32 +0000 (14:12 -0500)]
Fix a race condition in ckloop

Copy the value of a variable, which can be modified by multiple
threads, and return it

Change-Id: Ieaffd56a400ebd22ce9621371448a70545273e4d

6 years agoBug #745: verbs-smp performance problem 66/766/4
Bilge Acun [Wed, 5 Aug 2015 16:19:48 +0000 (11:19 -0500)]
Bug #745: verbs-smp performance problem

Broadcasts were based on point to point instead of hypercube or
spanning tree. Remove the lines in config where spanning tree and
hypercube are set to zero. Spanning tree is enabled by
machine-common-core. Remove the buffering of the broadcast messages,
and hand them over to lrts directly. Otherwise, it causes a hang.

Change-Id: I960022067d4cd9a400fdad51da7a6997ed08624c

6 years agoDrop verbose print for BigSim 65/765/1
Nikhil Jain [Tue, 4 Aug 2015 15:40:06 +0000 (10:40 -0500)]
Drop verbose print for BigSim

Drop the anomaly; no other action is explicitly reported.

Change-Id: I252cfa4344d2fd5f9b453f1c6ad80b99aef44b05

6 years agoDisable stats collection with BigSim 64/764/1
Nikhil Jain [Tue, 4 Aug 2015 02:35:54 +0000 (21:35 -0500)]
Disable stats collection with BigSim

Collecting stats via CmiReduce leads to BgRank function
being called when master thread is running. This result in a
failure since master thread has no BgRank.

Change-Id: I7a7fccfd4a71830b1609d1a3a0fe6bd229ef4326

6 years agoAdd support for bulk construction of sparse arrays 53/753/9
Eric Mikida [Wed, 22 Jul 2015 20:06:19 +0000 (15:06 -0500)]
Add support for bulk construction of sparse arrays

Change-Id: Ic30febcf2fdc18cc1f32693c5718d6cd1568a861

6 years agoRevert "fix autocmd to make 1 host for each unique name in the hostfile"
Eric Bohm [Mon, 27 Jul 2015 15:26:40 +0000 (10:26 -0500)]
Revert "fix autocmd to make 1 host for each unique name in the hostfile"

Does not belong in master branch at this time.
This reverts commit 2b24c646cdf93e2087350f10ff460e34e4a84a51.

6 years agofix autocmd to make 1 host for each unique name in the hostfile
Eric Bohm [Fri, 24 Jul 2015 19:38:40 +0000 (14:38 -0500)]
fix autocmd to make 1 host for each unique name in the hostfile
verify that it works correctly in PBS within qsub

6 years agoBug #710: Disable SSH host key checking for localhost 96/696/4 mprobson/test_push
Ralf Gunter [Mon, 27 Apr 2015 20:33:10 +0000 (15:33 -0500)]
Bug #710: Disable SSH host key checking for localhost

Change-Id: I78f53071a79410648580e3d31113835aea505e6d

6 years agoBug #709: Disable keyboard and password-based auth 95/695/4
Ralf Gunter [Fri, 24 Apr 2015 19:40:45 +0000 (14:40 -0500)]
Bug #709: Disable keyboard and password-based auth

Change-Id: Ief4a361e358d94147581b2489249c0d6433b4552

6 years agoBug #304: Some libraries are only built statically, preventing installation with... 65/465/7
Nicholas Bock [Mon, 19 Jan 2015 22:32:32 +0000 (16:32 -0600)]
Bug #304: Some libraries are only built statically, preventing installation with only dynamic libraries

On a typical Linux system only shared libraries are installed, because of the
usual security and bloat arguments. However, if I build charm with
--build-shared, and then install only what is in lib_so, the charmc script
breaks because some Converse libraries are built purely as .o and don't end up
in lib_so. One example is seed based load balancing, e.g. libldb-rand.o. As far
as I can tell, this is not too hard to fix. In the main makefile, the targets
libldb-*.o are renamed to libldb-*.a, and the charmc script now tests both .a
and .so when linking the seed based load balancing code.

Change-Id: I52167e0736950bdadd46c6c320dec4024bbb6c8d

6 years agoAMPI: Factor out chare array creation in constructing new MPI_Comm objects 43/743/2
Phil Miller [Wed, 17 Sep 2014 21:47:57 +0000 (16:47 -0500)]
AMPI: Factor out chare array creation in constructing new MPI_Comm objects

Change-Id: I1a1b7e99aca9e706baefdadd7523d51c9f42441b

6 years agocharmxi: Don't call CkFreeSysMsg() on argument of nokeep methods 35/735/3
Phil Miller [Thu, 14 May 2015 00:23:28 +0000 (19:23 -0500)]
charmxi: Don't call CkFreeSysMsg() on argument of nokeep methods

If a zero-payload message is going to be broadcast to a chare array, then we
want to be able to mark the receiving entry method [nokeep] so that there
aren't copies allocated for each element. That was causing a double-free
because the generated code was unconditionally freeing these messages, nokeep
or not. So, make the generated code stop doing that.

This does mean that we're freeing messages from CkAllocSysMsg() rather than
returning them to the memory pool, which presents some potential overhead. On
net, there's an overall benefit for the PHold PDES benchmark of about 5%, so
this seems like a good path.

Change-Id: Ib770e7d5405ed10e882f79ded9b1aef1994fb6dd

6 years agoArray Index Compression: use right view of CkArrayIndex contents based on dimension 41/741/3
Phil Miller [Fri, 5 Jun 2015 17:37:13 +0000 (12:37 -0500)]
Array Index Compression: use right view of CkArrayIndex contents based on dimension

Change-Id: I0a61ab7ba635dc14208536f2ee6fdfe05fd563aa

6 years agoBug #757: disable unnecassary network polling in multicore build 52/752/1
Bilge Acun [Fri, 26 Jun 2015 18:48:41 +0000 (13:48 -0500)]
Bug #757: disable unnecassary network polling in multicore build

Change-Id: Id493d2ee643fe41e07e3e2c52f016d976f73f970

6 years agoxlat-i: create interface to allow charmxi to be used as a library 31/731/2
Jonathan Lifflander [Wed, 27 May 2015 19:38:30 +0000 (14:38 -0500)]
xlat-i: create interface to allow charmxi to be used as a library

Change-Id: I965f7348e2d79a8784b892466cf1d8eb292b81a5

6 years agoBug #713: Fix tsan+smp deadlock 26/726/3
Ralf Gunter [Wed, 20 May 2015 17:22:08 +0000 (12:22 -0500)]
Bug #713: Fix tsan+smp deadlock

The combination of tsan+smp deadlocks inside a 'write' syscall that is
(by default) writing to stderr, which has been replaced by a pipe, on
the reading side of which is the commthread. It turned out that the
commthread was blocking on a mutex, inside which tsan tries to report
something, leading to a deadlock. In this commit we prohibit TSAN from
writing to standard error, aborting if the user does not specify a log
file to write to (using TSAN_OPTIONS.)

Change-Id: I924bb9a9fc13e0008987ddbc0513649960d6ff65

6 years agoBug #713: Fix tsan compilation and linking flags for gcc 25/725/4
Ralf Gunter [Wed, 20 May 2015 17:21:41 +0000 (12:21 -0500)]
Bug #713: Fix tsan compilation and linking flags for gcc

Change-Id: Idbe4d2e06394b558af03ad55ac607ed4e69ead5b

6 years agoBug #717: Make 'pxshm' and 'smp' directives go in the right order 10/710/3
Ralf Gunter [Fri, 8 May 2015 18:47:35 +0000 (13:47 -0500)]
Bug #717: Make 'pxshm' and 'smp' directives go in the right order

Change-Id: I7844f7a461b33dcaaa062e28f62b1ae47c8bef3a

6 years agoFeature #420: Correctly set PXSHM nodesize for 'gni' builds 06/706/5
Ralf Gunter [Thu, 7 May 2015 15:47:55 +0000 (10:47 -0500)]
Feature #420: Correctly set PXSHM nodesize for 'gni' builds

Change-Id: Idcf9920da121b8fc1b3c6adf5399fb6a6e381d70

6 years agoBug #755: Quote executable filepath passed to debugger 34/734/1
Ralf Gunter [Fri, 29 May 2015 19:09:38 +0000 (14:09 -0500)]
Bug #755: Quote executable filepath passed to debugger

Change-Id: Id1e35cad70855b1b98966ec4aa1a8b29e667824a

6 years agocharmxi: Restrict generation of default template arguments to class declarations 33/733/1
Ralf Gunter [Wed, 27 May 2015 20:15:32 +0000 (15:15 -0500)]
charmxi: Restrict generation of default template arguments to class declarations

Prior to this commit, charmxi was adding the default template argument
declaration to every single use of that template, which led to the
compiler complaining that there were multiple declarations.

Change-Id: I284ce992f7bcd66377cf3c61251857d4a2833334

6 years agocharmxi: Accept templated values for default template arguments 32/732/1
Ralf Gunter [Wed, 27 May 2015 16:12:18 +0000 (11:12 -0500)]
charmxi: Accept templated values for default template arguments

Before this commit, default values for template arguments in .ci files
could only be numbers or quoted strings. To integrate TRAM we need to
use a default function pointer, which is parsed as a QualNamedType.

Change-Id: Iea5276580c9a9db0fd3f9cc3eb5413daa46a7db2

6 years agoBug #737: Undo legacy removal of SDAG '//' comments 30/730/1
Ralf Gunter [Thu, 14 May 2015 19:02:22 +0000 (14:02 -0500)]
Bug #737: Undo legacy removal of SDAG '//' comments

Commit 35cd178f introduced code to erase '//' comments, potentially for
reasons that no longer apply (probably something to do with an old,
pre-charmxi SDAG parser.) That mechanism is too harsh, however,
introducing a bug where you could have unterminated lines in the
generated headers if they had '//' somewhere in them (see included test
cases.) Since modern charmxi is able to handle these kinds of comments,
this commit removes that code.

Change-Id: I2d5077e92eae53ba88e7195a61a941c675e417a9

6 years agocharmxi: Fix unclosed parenthesis in FuncType template variables 29/729/2
Ralf Gunter [Thu, 21 May 2015 19:16:18 +0000 (14:16 -0500)]
charmxi: Fix unclosed parenthesis in FuncType template variables

Prior to this commit, charmxi wasn't closing parentheses used in
FuncType template arguments, like so:
  template <void (*fun)(foo_t), class T>

  template <void (*fun)(foo_t, class T>

Change-Id: I0cf65195d33231a52c816c3b52370077032afeee

6 years agoci.vim: Add syntax highlighting for 'serial' and 'aggregate' 28/728/1
Ralf Gunter [Fri, 22 May 2015 19:36:19 +0000 (14:36 -0500)]
ci.vim: Add syntax highlighting for 'serial' and 'aggregate'

Change-Id: Iefa3de55ba00c5fcdfcf04dd8e9adf366a05c8a3

6 years agoBug #740: Fix NULL casting error that appears with STL headers from GCC <4.3 27/727/2
Ralf Gunter [Thu, 21 May 2015 18:29:08 +0000 (13:29 -0500)]
Bug #740: Fix NULL casting error that appears with STL headers from GCC <4.3

Change-Id: I9897daf594355288daf24b592bfb000852ad16c4

6 years agocharmxi: Move template definitions to header, where they can be instantiated on demand 24/724/1
Phil Miller [Tue, 19 May 2015 21:45:03 +0000 (16:45 -0500)]
charmxi: Move template definitions to header, where they can be instantiated on demand

This required fixing a whole bunch of other #include quirks, where full class
definitions were required at the point of instantiation, while they weren't

Change-Id: I2cfbfbc20dcaea145084ed41664452e4c56bb288

6 years agocharmxi: Move error printing methods to xi-util 23/723/1
Ralf Gunter [Mon, 18 May 2015 23:00:34 +0000 (18:00 -0500)]
charmxi: Move error printing methods to xi-util

Change-Id: I7e81eea0d1c562f8e7f87e02217d9f2e01ddd8b4

6 years agoBug #735: Add error check for invalid sdag members 21/721/3
Ralf Gunter [Tue, 12 May 2015 19:15:49 +0000 (14:15 -0500)]
Bug #735: Add error check for invalid sdag members

Change-Id: I729f5c73282ce9e40f7a419aee6f1286645554f3

6 years agoBug #735: Make error printing more robust to invalid line/column ranges 20/720/3
Ralf Gunter [Wed, 13 May 2015 16:23:56 +0000 (11:23 -0500)]
Bug #735: Make error printing more robust to invalid line/column ranges

Change-Id: Id8b255f698f81cbd110c22f7db04589faf17b223

6 years agoBug #741: Prefer use of && logical operator for MS VC++ compliance 22/722/1
Sam White [Fri, 15 May 2015 22:35:59 +0000 (17:35 -0500)]
Bug #741: Prefer use of && logical operator for MS VC++ compliance

Change-Id: I30195fd0505864ccd6bc49f4a35e969bef5056e5

6 years agoBug #734: Sanitize parens, square brackets, (semi-)colons and commas 19/719/5
Ralf Gunter [Wed, 13 May 2015 23:02:44 +0000 (18:02 -0500)]
Bug #734: Sanitize parens, square brackets, (semi-)colons and commas

Change-Id: Ie0ee7d09c933c4c81a7982ac3413c2868ffc7293

6 years agoBug #734: Sanitize braces within strings 18/718/5
Ralf Gunter [Wed, 13 May 2015 22:58:36 +0000 (17:58 -0500)]
Bug #734: Sanitize braces within strings

Change-Id: Ibd12e39b1a13268b2b1dd658379fd38c04d115fe

6 years agoBug #734: Sanitize comments in serial blocks 13/713/4
Ralf Gunter [Tue, 12 May 2015 17:00:12 +0000 (12:00 -0500)]
Bug #734: Sanitize comments in serial blocks

Due to a peculiarity with how charmxi handles serial blocks, the parser
tries to match braces even behind comment blocks, causing spurious
syntax errors. As a simple hack around that, we sanitize comments before
the parsing phase by replacing the braces with unique ASCII control
characters, undoing that right before writing to the .def.h header.

Change-Id: Icd369a6d2ff6b97f3240d06e7174a41a2667b8d4

6 years agocharmxi: Make charmxi syntax errors show the right file name when using -preprocess 17/717/2
Ralf Gunter [Wed, 13 May 2015 20:04:44 +0000 (15:04 -0500)]
charmxi: Make charmxi syntax errors show the right file name when using -preprocess

Change-Id: Ib8aa15af03a5b3a817fec1d45e7fb9c43b00fe48

6 years agocharmrun: Refactor ssh argument lists to use vectors 00/700/2
Ralf Gunter [Wed, 29 Apr 2015 02:56:03 +0000 (21:56 -0500)]
charmrun: Refactor ssh argument lists to use vectors

Change-Id: I5ce311c0714f602e1ea3876e586b6bed6a49032d

6 years agocharmrun: Make ssh print command work for arbitrary # of arguments 97/697/3
Ralf Gunter [Mon, 27 Apr 2015 21:01:19 +0000 (16:01 -0500)]
charmrun: Make ssh print command work for arbitrary # of arguments

Change-Id: I5461dd436e5f62da629d40a1d937874390b27b31

6 years agoconvcore: Enable argument deprecation warnings 09/709/3
Ralf Gunter [Tue, 5 May 2015 21:31:33 +0000 (16:31 -0500)]
convcore: Enable argument deprecation warnings

Change-Id: I6bf24a8081ceeb3d04c15d276835a1768d06161e

6 years agoFeature #420: Get nodesize from charmrun for 'verbs' 04/704/7
Ralf Gunter [Thu, 30 Apr 2015 20:08:31 +0000 (15:08 -0500)]
Feature #420: Get nodesize from charmrun for 'verbs'

Change-Id: I1909236ff378bb5130a3502a86704c338b3efc8d

6 years agoFeature #420: Fix verbs-linux-x86_64-pxshm build 14/714/3
Ralf Gunter [Tue, 12 May 2015 22:56:35 +0000 (17:56 -0500)]
Feature #420: Fix verbs-linux-x86_64-pxshm build

Change-Id: I6ac3878dfcaf66332f528e9a71cd40fd5c13a88c

6 years ago[clang-format] Reformat util/machine-pxshm.c 98/698/9
Ralf Gunter [Mon, 27 Apr 2015 22:28:22 +0000 (17:28 -0500)]
[clang-format] Reformat util/machine-pxshm.c

Change-Id: Ib1c740b7af18bd9562546a457f2d0889f9c8eeb5

6 years agoFeature #420: Get nodesize from charmrun for 'netlrts' 89/689/13
Ralf Gunter [Wed, 22 Apr 2015 20:01:23 +0000 (15:01 -0500)]
Feature #420: Get nodesize from charmrun for 'netlrts'

Change-Id: I8c1195d7e8faece99a618378ccd1be20cbd7eaf5

6 years ago[clang-format] Reformat sockRoutines.h 88/688/12
Ralf Gunter [Wed, 22 Apr 2015 19:23:48 +0000 (14:23 -0500)]
[clang-format] Reformat sockRoutines.h

Change-Id: I6c211ecc6027056737b21708e93a0d5c8b52d43b

6 years agoFeature #420: Get nodesize from charmrun for 'net' 86/686/13
Ralf Gunter [Mon, 20 Apr 2015 20:14:40 +0000 (15:14 -0500)]
Feature #420: Get nodesize from charmrun for 'net'

Originally, users of the PXSHM build had to pass the flag +nodesize to
properly initialize some internal shmem data structures. Since this
information is readily available when creating the node table, this
commit uses that instead on the 'net' layers, deprecating the flag.

Change-Id: Ic74bf9a49cde113ad45e4cd24aa3296fd6b73437

6 years agoFeature #47: Annotate generated atomic blocks with line number information 08/708/2
Ralf Gunter [Fri, 1 May 2015 21:24:52 +0000 (16:24 -0500)]
Feature #47: Annotate generated atomic blocks with line number information

Change-Id: Ia5fe26dc2d361af1c1061264fe9aaddaec75e992

6 years agoFeature #420: Set ppn to be 1 by default 05/705/3
Ralf Gunter [Thu, 7 May 2015 15:32:18 +0000 (10:32 -0500)]
Feature #420: Set ppn to be 1 by default

A natural way to compute the number of processes per physical node is to
divide the number of PEs by the ppn, which does not work by default
since ppn is initially set to zero in non-local and non-scyld cases.
Here we change that to be one, which is functionally equivalent but
numerically more convenient.

Change-Id: I50bf4a0560c487a9577665fdd5993cbb3a8c8511

6 years agoRemove the warning in ckloop about maximum chare 11/711/1
Harshitha [Sat, 9 May 2015 17:48:54 +0000 (12:48 -0500)]
Remove the warning in ckloop about maximum chare

Change-Id: I319e92062f8f1362ed2d132a6f15f8efa274076f

6 years agoverbs: try alternate parameters to set QP 02/702/2
Nikhil Jain [Thu, 30 Apr 2015 17:37:54 +0000 (10:37 -0700)]
verbs: try alternate parameters to set QP

Mellanox and QLOGIC requires different attribute values. Hence,
we first try one set of parameters, and if that does not work, try
the other. This way, if the user does not specify -DQLOGIC, we still
get a working code.

Change-Id: Idfe860ca4a43fdf0695779de68cb986a2052cc25

6 years agoCheck if the Chare object is NULL before checkpointing/restarting. 99/699/2
Xiang Ni [Tue, 28 Apr 2015 20:38:30 +0000 (15:38 -0500)]
Check if the Chare object is NULL before checkpointing/restarting.

Change-Id: Ia78d46b5e68a2b119dea99d02e1d116ca0539bce

6 years agoremove ck-tune, which is now a subset of ck-pics 94/694/4
YanhuaSun [Mon, 27 Apr 2015 16:57:34 +0000 (11:57 -0500)]
remove ck-tune, which is now a subset of ck-pics

ck-pics will be merged to include autoperf and autotune.

Change-Id: I8b65de79dfce233ff9bbaee0370aa02834daa5be

6 years agoTopoManager: add coordinates as sorting source 74/674/8
Nikhil Jain [Sun, 12 Apr 2015 21:00:47 +0000 (16:00 -0500)]
TopoManager: add coordinates as sorting source

Add API for sorting a list of PE based on their distance
from a given coordinate. This is useful in cases such as
BW where centroid of a torus may not be part of the allocation.

Change-Id: I5063d43c0900959545e500a21415152d7ced3974

6 years agoDrop constness of traceFileName in bglog 90/690/2
Nikhil Jain [Fri, 24 Apr 2015 18:09:28 +0000 (13:09 -0500)]
Drop constness of traceFileName in bglog

Dropping constness allow users to externally set the tracefile name,
hence providing more freedom on where the trace reading should be done from.

Change-Id: Iccf56d1890ac2ae456be454489ab420564c69b6f

6 years agoQuickThreads: Switch all generic(64) builds to the -light version to avoid signal... 52/552/7
Phil Miller [Thu, 19 Feb 2015 21:57:02 +0000 (15:57 -0600)]
QuickThreads: Switch all generic(64) builds to the -light version to avoid signal mask overhead costs

There are two versions of the setjmp/longjmp family, the common ones
and a set with leading underscores (_setjmp()/_longjmp()). The latter
variants don't save/restore signal masks, saving overhead and possibly
a round-trip through the kernel on each context switch. Since our
user-level threads never gain distinct signal masks, this was pure
dead weight. So, uniformly use the version that doesn't waste time on

Change-Id: I274545844585e2da7ea08cd8da9b6170e642bfbf

6 years agoFix kevent usage errors noted by cppcheck 68/668/2
Phil Miller [Tue, 7 Apr 2015 01:59:55 +0000 (20:59 -0500)]
Fix kevent usage errors noted by cppcheck

Change-Id: I1398584ee4ac9608235c507dd89f02ce9f1f9a13

6 years agoRemove hello-crosscorruption test 61/661/2
Cyril Bordage [Tue, 31 Mar 2015 21:44:34 +0000 (16:44 -0500)]
Remove hello-crosscorruption test

Change-Id: Ida6297342b6ff33ba521c180b0f5c8b60a6e8a21

6 years agoBug #614: removed ping test 58/658/3
Cyril Bordage [Thu, 19 Feb 2015 18:50:07 +0000 (12:50 -0600)]
Bug #614: removed ping test

This test does not have any added value compared to pingpong.

Change-Id: If89cc705243dc8b84181861da8d76117cd16f2b2

6 years agoAMPI: Typo fix 93/693/2
Phil Miller [Wed, 17 Sep 2014 19:05:42 +0000 (14:05 -0500)]
AMPI: Typo fix

Change-Id: I4db11e9aaa44915a352fbb8177179e49f4e3f6a1

6 years agoexamples: Inherit from CBase class, not Chare 92/692/2
Phil Miller [Tue, 16 Sep 2014 19:56:35 +0000 (14:56 -0500)]
examples: Inherit from CBase class, not Chare

Change-Id: I8b6fe57603f506007eb0c8bdc78c53ddf96bbd13

6 years agocharmxi: Don't conditionalize on an always-true condition 91/691/2
Phil Miller [Thu, 11 Sep 2014 21:00:47 +0000 (16:00 -0500)]
charmxi: Don't conditionalize on an always-true condition

Change-Id: I2dca479370ec46828f5ce1e0b66c14f657ad3f8b

6 years ago[clang-format] Reformat machine-pxshm.c 85/685/3
Ralf Gunter [Mon, 20 Apr 2015 19:53:22 +0000 (14:53 -0500)]
[clang-format] Reformat machine-pxshm.c

Change-Id: I0ec2b50725a3930f0b5470e88fe68de22908d367

6 years agoAdd deprecation function for '+...' arguments 87/687/1
Ralf Gunter [Wed, 22 Apr 2015 19:11:25 +0000 (14:11 -0500)]
Add deprecation function for '+...' arguments

Change-Id: I953001b90779b7a85ecda73ef6cc365397be6e5a

6 years agoUse threadsafe string tokenizer strtok_r instead of strtok in NodeLevelLB 84/684/1
Harshitha [Tue, 21 Apr 2015 21:03:58 +0000 (16:03 -0500)]
Use threadsafe string tokenizer strtok_r instead of strtok in NodeLevelLB

Change-Id: I747754dd3498c70cc4f9daa894d51cb4d0051036

6 years agoMake.depends: regenerate on non-SMP build to avoid missing deps in uth-* and multicor... 83/683/1
Phil Miller [Tue, 21 Apr 2015 16:31:47 +0000 (11:31 -0500)]
Make.depends: regenerate on non-SMP build to avoid missing deps in uth-* and multicore-* builds


Change-Id: I9c554ea809d1f2fe6a16e85aadab03db82c7c3b1

6 years agoNode level loadbalancer which performs load balancing across nodes and then within... 67/667/5
Harshitha [Mon, 6 Apr 2015 20:57:36 +0000 (15:57 -0500)]
Node level loadbalancer which performs load balancing across nodes and then within a node

Change-Id: I8feada7fe62bf5a89968f7893f1b944812d3c1e8

6 years agotests/charm++/communication_overhead: fix uninitialized variables that would hang... 75/675/2
Phil Miller [Sun, 12 Apr 2015 23:16:25 +0000 (19:16 -0400)]
tests/charm++/communication_overhead: fix uninitialized variables that would hang under valgrind/asan

Change-Id: I9e7a7f057261555c2381ad4a0bb10bef51b2257d

6 years agoBug #705: Group nodelist entries by line number 73/673/4
Ralf Gunter [Sat, 11 Apr 2015 16:42:34 +0000 (11:42 -0500)]
Bug #705: Group nodelist entries by line number

Before this commit, nodes were added to the nodetab list as the nodelist
file was parsed. This meant that in the wrap-around phase, nodes
corresponding to the same host might not be consecutive, screwing up the
naive scalable-start scheme. This change bins the nodes by line number
before inserting them in the node table, enabling scalable-start even
when wrap-around occurs.

Change-Id: I5035812b7cebb26c312f52144a441568a45775d5