#566: Support compressed (tar.gz) testsuite data
-------------------------+--------------------------------------------------
Reporter: knarf | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone: ET_2011_11
Component: Cactus | Version: development version
Keywords: |
-------------------------+--------------------------------------------------
This patch to Cactus adds support for compressed testsuite data.
It assumes that if no directory is found within the thorn containing the
reference data for a particular test, that it might be in a
correspondingly named file (test.par with a missing test/ as output_dir
might actually have test.tar.gz). Cactus would, when running the
testsuites, decompress the tarfile to TEST/config/thorn/test.orig, and
compare that against the new results (in TEST/config/thorn/test, as
usual). The test.orig directory will remain within TEST for easier
debugging/comparing later,
but will be overwritten for each new re-run of the test.
Using ET_2011_05 as example, compressing all testsuites this way, and
disregarding the svn metadata, this reduces the number of files within
arrangements (following symlinks) from 16k to 4.8k, and the size from
220MB to 112MB. The metadata from svn is likely to about double these
numbers. These numbers mean that using this would not only save space, but
also a lot of time when syncing between machines.
I propose to add support for this before the next ET release, but to only
actually use it in thorns after this.
Commands you may find useful when testing this:
Compress all testsuite data (from within arrangements/):
for i in `find -L -maxdepth 3 -mindepth 3 -type d -name
test`; do cd $i; find -maxdepth 1 -mindepth 1 -not -name .svn -type d |
awk '{print $1".tar.gz "$1;}' | xargs -n 2 -P 4 tar -czf; cd -; done
After that: remove the test data directories (because they have higher
priority than the tar.gz files):
find -L -maxdepth 4 -mindepth 4 -type d | grep -v .svn | grep -e
'\/test\/' | xargs rm -rf
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/566>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#577: Formaline: Add thorn tarballs to thorns
-----------------------------------+----------------------------------------
Reporter: eschnett | Owner:
Type: enhancement | Status: new
Priority: major | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: |
-----------------------------------+----------------------------------------
Add the thorns' tarballs to the individual thorns' libraries instead of
building a library with all tarballs. This should reduce build time, since
it avoids regenerating a potentially large library for every source code
change. Instead, only those thorns which changed would have their library
rebuilt.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/577>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#559: Cactus may use wrong test config file
--------------------+-------------------------------------------------------
Reporter: tbode | Owner:
Type: defect | Status: new
Priority: minor | Milestone: ET_2011_11
Component: Cactus | Version:
Keywords: |
--------------------+-------------------------------------------------------
If for some reason there exists both a test.ccl and a file 'config' in a
thorn's test directory, Cactus uses the config file while telling the user
that it's using the test.ccl. Config is so outdated this shouldn't affect
anybody. Quick fix. I'm attaching a patch.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/559>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#444: Code documentation for Carpet
-------------------------+--------------------------------------------------
Reporter: hinder | Owner: eschnett
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Carpet | Version:
Keywords: |
-------------------------+--------------------------------------------------
Doxygen is a program which generates HTML documentation describing all the
files, functions and classes of a program based on the C++ source. It uses
comments in a particular format in the code. There is a search box and a
tree view for the classes, as well as links to HTML versions of the source
files. An example of the output is at
http://damiana2.aei.mpg.de/~ianhin/carpet-doc/
To generate the documentation, go into the root Carpet directory and type
"doxygen", assuming that doxygen is installed on the local system. The
documentation will be generated in a new carpet-doc directory. Open the
file carpet-doc/html/index.html to browse the documentation.
It would be convenient to have the documentation generated in this way
made available on the Carpet web site and updated after each commit to the
repository.
The attached patch provides a doxygen configuration file and a header file
for the main documentation page.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/444>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#528: Use "andnot" instruction when vectorising
-----------------------------------+----------------------------------------
Reporter: eschnett | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: |
-----------------------------------+----------------------------------------
Use the "andnot" instruction to reduce the number of different bit masks
that are required. Using fewer different bit masks may require fewer
registers to hold them, or fewer load instructions to access them, thus
potentially improving performance.
Do not scalarize ifpos when SSE 4.1 is not available; instead, use logical
operations to create a bit mask.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/528>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#451: Implement "dd" tensor type in symmetry conditions
-------------------------+--------------------------------------------------
Reporter: eschnett | Owner:
Type: enhancement | Status: new
Priority: major | Milestone:
Component: Cactus | Version:
Keywords: |
-------------------------+--------------------------------------------------
The attached patch implements the "dd" tensor type (a full 3x3 tensor
without symmetries) in the rotating symmetries.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/451>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#540: Change case in internal auto-generated file
-------------------------+--------------------------------------------------
Reporter: eschnett | Owner:
Type: enhancement | Status: new
Priority: optional | Milestone:
Component: Cactus | Version:
Keywords: |
-------------------------+--------------------------------------------------
Cactus auto-generates header files from CCL files into the
bindings/include directory. One of these files is called
${thorn}_arguments.h, which stands out because "a" is lower case. Other
auto-generated files are called e.g. ${thorn}_Schedule.h with an upper
case "S". I suggest to change "arguments" to upper case "Arguments".
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/540>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#479: speed up VisIt's CarpetHDF5 plugin, set 2d masks
-------------------+--------------------------------------------------------
Reporter: rhaas | Type: enhancement
Status: new | Priority: minor
Milestone: | Component: Other
Version: | Keywords: CarpetHDF5
-------------------+--------------------------------------------------------
Hello all,
the attached patches (when all of them are applied to VisIt's CarpetHDF5
plugin) speed up opening (large) HDF5 output files in VisIt by about a
factor of 8. The two main speedups are replacing a linear search when
translating from the Cactus iteration cctk_iteration to timestep (index)
number and (surprisingly enough) the parsing of the Cactus variable name
out of the dataset name rather than the "name" attribute (but it falls
back to reading the attribute if the parsing fails). The third speed
improvement is only visible when more than one file are opened and
plotted. VisIt seems to consider reading metadata a cheap operation and
creates and destroys the metadata object (avtCarpet...) very often. The
patch caches metadata when VisIt destroys the object. This speeds up
plotting several frames (or using the timestep slider) considerably, but
has the unfortunate side effect that one cannot fully close files anymore
(re-loading still works though).
I attach timing information to show the gains. Data files and a python
script to use with visit -cli -s openfile.py are provided at
http://www.numrel.org/~rhaas3/CarpetHDF5/ . The data files are about 20MB
when compressed and about 2-4GB when decompressed (they are actual data
from one of my simulations with all values set to zero).
There are three data sets provided. "flat" is the direct output from the
Cactus simulation. "grouped" contains datasets from each timestep in a
group of their own (grouping is mostly useful when mergin hdf5 files which
is unbearably slow otherwise). "unchunked" used a python script to merge
the individual Carpet components into the CarpetRegrid2 boxes (or
equivalent), which results in much faster load times and smaller files
(but is itself a slow operation).
Code and scripts to group and unchunk hdf5 data is not yet public. If
there is interested and I can post those as well but they are not nicely
coded at all.
The last patch (actually the first two by number) changes the way
CarpetHDF5 sets up the nesting of components for 2D data so that eg.
contour plots work properly (no more duplicate lines from the coarse
points under fine points).
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/479>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#551: Output metadata from TwoPunctures
-----------------------------------+----------------------------------------
Reporter: hinder | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: TwoPunctures |
-----------------------------------+----------------------------------------
It is desirable to be able to determine the properties of !TwoPunctures
initial data from the simulation output. Currently, some quantities
(initial momenta etc.) can be determined by parsing the parameter file and
param.ccl, and others by parsing the standard output of the run (ADM
mass). Neither of these are optimal.
The attached patch causes !TwoPunctures to output a metadata file in the
form described in [http://arxiv.org/abs/0709.0093 Data formats for
numerical relativity waves]. The keys used include current draft
proposals used in the NR-AR project.
To encourage the use of this, I have made the output happen
unconditionally.
The output filename is !TwoPunctures.bbh and it is written into
IO::out_dir. The metadata file looks like this:
{{{
# ==================================
# Numerical Relativity Metadata file
# ==================================
#
# This file contains information about the simulation provided by the
# TwoPunctures thorn. The format is described in the NR Data Format
Document
# http://arxiv.org/abs/0709.0093 [draft SVN r707].
[metadata]
initial-ADM-energy = 1.190594340667362472
initial-ADM-angular-momentumx = 0.1100000000000000006
initial-ADM-angular-momentumy = 0.2200000000000000011
initial-ADM-angular-momentumz = 1.195856641772157003
initial-separation = 7
initial-data-type = Bowen-York
initial-data-bibtex-keys = Bowen:1980yu Brandt:1997tf Ansorg:2004ds
initial-bh-position1x = 3.5
initial-bh-position1y = 0
initial-bh-position1z = 0
initial-bh-position2x = -3.5
initial-bh-position2y = 0
initial-bh-position2z = 0
initial-bh-momentum1x = -0.003358311330506950042
initial-bh-momentum1y = 0.1236938059674509982
initial-bh-momentum1z = 0
initial-bh-momentum2x = 0.003358311330506950042
initial-bh-momentum2y = -0.1236938059674509982
initial-bh-momentum2z = 0
initial-bh-spin1x = 0.1000000000000000056
initial-bh-spin1y = 0.2000000000000000111
initial-bh-spin1z = 0.2999999999999999889
initial-bh-spin2x = 0.01000000000000000021
initial-bh-spin2y = 0.02000000000000000042
initial-bh-spin2z = 0.02999999999999999889
initial-bh-puncture-adm-mass1 = 0.7117197159189734279
initial-bh-puncture-adm-mass2 = 0.5107035566228820267
}}}
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/551>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit