#1483: speed up reading metadata of HDF5 files in visit
-------------------------+--------------------------------------------------
Reporter: rhaas | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Other | Version: development version
Keywords: CarpetHDF5 |
-------------------------+--------------------------------------------------
The attached patch tries to extract as much information about a dataset
from the dataset name as possible. Since accessing attributes is slow but
the dataset name comes for free this speeds up opening HDF5 files in VisIt
drastically (I had a factor of 6 when I measured it quite a while ago).
This is certainly not the nicest way of parsing the string, one could
think of sequentially looking for "name=value" constructs in the string
and acting based on the name rather than just matching against all
possible options.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1483>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1575: Declare cctkGH as "const cGH*"
-------------------------+--------------------------------------------------
Reporter: eschnett | Owner:
Type: enhancement | Status: new
Priority: major | Milestone:
Component: Cactus | Version: development version
Keywords: |
-------------------------+--------------------------------------------------
cctkGH is declared as "const cGH*" in several places, but
DECLARE_CCTK_ARGUMENTS still declares it only as "cGH*". This should be
changed.
I checked, and some thorns need updating to deal with this. I propose to
make this change after the release.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1575>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1633: backport MoL revision 225
--------------------------+-------------------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: Other | Version: development version
Keywords: MoL backport |
--------------------------+-------------------------------------------------
Before MoL did not initialize the RHS grid functions of the slow evolved
variables to zero (but GRHydro did explicitly so this never showed up).
Revision 225 adds the initialization.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1633>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#499: Prolongation fails with vectorisation enabled
--------------------+-------------------------------------------------------
Reporter: hinder | Owner: eschnett
Type: defect | Status: new
Priority: major | Milestone:
Component: Carpet | Version:
Keywords: |
--------------------+-------------------------------------------------------
The development version of Carpet uses vectorisation to speed-up
prolongation. This fails with various errors, including corruption of the
malloc heap.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/499>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#445: Make Carpet timers hierarchical
-------------------------+--------------------------------------------------
Reporter: hinder | Owner: eschnett
Type: enhancement | Status: new
Priority: major | Milestone:
Component: Carpet | Version:
Keywords: |
-------------------------+--------------------------------------------------
With the current flat structure of timers in Carpet, it is difficult to
identify which timers are contained in which other timers, and hence to
avoid double-counting when adding up the times.
This series of patches modifies the timer infrastructure in Carpet to
generate a tree of timers where the hierarchy reflects the call-graph of
the program. This makes it much easier to interpret the timer output than
with the previous flat structure, where it was not possible to see which
timers "contained" which others. More implementation details are given at
the top of TimerNode.hh.
Note that the Timer source and header files have been renamed as
CactusTimer and a new Timer file and object has been created. This is
because the Timer object now only provides a wrapper around the Cactus
timer mechanism which was contained in the old Timer object.
New parameters output_initialise_timer_tree and output_timer_tree_every
control output of a new "timer tree diagram" to standard output for the
Initialise and Evolve timer trees respectively. These diagrams indicate:
1. the value of each timer;
2. the percentage of the given tree taken by each timer;
3. which timers are contained in which other timers;
4. any untimed code
for any timer which takes more than 1% of the tree time.
Making the timers hierarchical means that the ad-hoc methods used before
to identify the hierarchy (such as naming the timer Evolve::Sync, for
example, to indicate that the Sync timer was a child of the Evolve timer)
are no longer necessary and have been removed. Additionally, the
construction of timers in a "dynamic" manner is now handled automatically
for all timers, so special-case code is no longer needed and has been
removed.
Additionally some previously-untimed parts of the code are now timed, and
timer names have been made more consistent in some places.
There is code in the patches to output the entire timer tree as an XML
file, but it is not enabled.
Ideally the timer tree printed to standard output would contain reductions
across processes, but at the moment it contains only the timer from the
current process.
The attached "tree-example.txt" file shows an example of the timer tree
that is printed for a simulation using the qc0-mclachlan parameter file
from the Einstein Toolkit.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/445>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1618: Compile with adaptive MPI (based on Charm++)
------------------------------+---------------------------------------------
Reporter: jtao@… | Owner:
Type: enhancement | Status: new
Priority: major | Milestone:
Component: Cactus | Version: development version
Keywords: |
------------------------------+---------------------------------------------
Gengbin Zheng, one of the leading developer of the Charm++ and I managed
to get Cactus compile against the AMPI
(http://charm.cs.illinois.edu/research/ampi). The patch against Revsion
5120 is attached. The major changes are in the flesh to deal with global
variables. We started with PUGH to get started and changes in Carpet could
be done later on. NR applications might not benefit from this work though
this effort could make Cactus appealing to many other applications as a
computational framework.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1618>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1634: CUDA breaks CCTK_BUILTIN_UNREACHABLE
---------------------+------------------------------------------------------
Reporter: sbrandt | Owner:
Type: defect | Status: new
Priority: minor | Milestone: Cactus_4.3.0
Component: Other | Version: development version
Keywords: |
---------------------+------------------------------------------------------
Code containing CCTK_BUILTIN_UNREACHABLE does not compile with CUDA. In
fact, there seems to be problems with calling abort() from CUDA as well.
The attached patch allows compilation to proceed, but I suspect it will be
hated.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1634>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1629: Use DANE for server certificates
-------------------------------------+--------------------------------------
Reporter: eschnett | Owner:
Type: enhancement | Status: new
Priority: optional | Milestone:
Component: EinsteinToolkit website | Version: development version
Keywords: |
-------------------------------------+--------------------------------------
If I understand correctly, DANE (<http://www.heise.de/newsticker/meldung
/DANE-Bund-sichert-nach-Mail-Transport-auch-Webservice-mittels-DANE-
ab-2215929.html>, <http://en.wikipedia.org/wiki/DNS-
based_Authentication_of_Named_Entities>) would allow server owners to
publish their certificates with their DNS entries. This could -- if I
understand correctly -- replace the need for having certificates signed by
a CA, which is always expensive and cumbersome.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1629>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1608: ScalarWave thorn build error on Stampede
--------------------------------------------+-------------------------------
Reporter: jonah.maxwell.miller@… | Owner:
Type: defect | Status: new
Priority: optional | Milestone: ET_2014_05
Component: EinsteinToolkit thorn | Version: development version
Keywords: ScalarWave,OpenMP |
--------------------------------------------+-------------------------------
When I try to compile the Einstein toolkit on stampede, I get a series of
errors relating to OpenMP loops. Each error is of the form:
{{{
must have a loop-invariant increment of integer, pointer, or random
access iterator type
for (int tk = tiled_imin[2]; tk < tiled_imax[2]; tk += tile_size_l[2])
}}}
The error is definitely in the ScalarWave thorn, because disabling this
thorn allows the toolkit to compile just fine.
Attached are the thornlist used and the error output. The command I used
to compile was
{{{
sim build dgfe2 --thornlist=dgfe2_jm.th
}}}
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1608>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit