#1614: introduce "damage region" to speed up SYNC after restriction
-------------------------+--------------------------------------------------
Reporter: rhaas | Owner: eschnett
Type: enhancement | Status: new
Priority: major | Milestone:
Component: Carpet | Version: development version
Keywords: |
-------------------------+--------------------------------------------------
after a restriction one needs to apply boundary conditions and SYNC the
grid functions. This SYNCS (as far as I know) the whole grid function.
However for a restriction only a (hopefully small) number of grid points
should be affected.
It may thus make sense if Carpet were to exchange only the data that needs
to be exchanged.
This seems to be not quit trivial to implement though since one has to
translate from the send region to the recv region in the sendrecvs.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1614>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1602: captcha not working anymore
----------------------------------+-----------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: EinsteinToolkit trac | Version: development version
Keywords: Captcha |
----------------------------------+-----------------------------------------
it seems as if the Captcha that gets triggered by potential spam is no
longer triggered and the user is just presented by a page that claims his
comment is spam.
This just happened to Bela Szilagyi whom we had asked for input on ticket
#1600. Please if someone at LSU would take a look at this this would be
very helpful.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1602>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1583: Carpet default poison value should not be NaN
-------------------------+--------------------------------------------------
Reporter: hinder | Owner: eschnett
Type: enhancement | Status: new
Priority: optional | Milestone:
Component: Carpet | Version: development version
Keywords: |
-------------------------+--------------------------------------------------
Carpet initialises Cactus variables to NaN as this is a quantity which is
likely to be noticed. However, this makes it impossible to know when you
see a NaN whether you have a programming error (accessing uninitialised
memory) or a numerical problem (numerical solution has blown up).
I usually set the carpet poison value to something else; a value like
10^230 is just as likely to be noticed as a NaN, and when you see exactly
that value, you know that you are looking at uninitialised data, rather
than a computation which went wrong.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1583>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1611: Support Valgrind in Carpet/CarpetLib's poison code
-------------------------+--------------------------------------------------
Reporter: rhaas | Owner: eschnett
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Carpet | Version: development version
Keywords: |
-------------------------+--------------------------------------------------
Valgrind offers client requests (http://valgrind.org/docs/manual/mc-
manual.html#mc-manual.clientreqs) that can be used to flag a region of
memory as undefined (VALGRIND_MAKE_MEM_UNDEFINED).
It may be useful for Carpet to mark regions that it poisons as undefined
so that Valgrind triggers on them. Right now poisoning "initializes" the
data as far as valgrind is concerned. Also cycling timelevels does not
mark them as invalid as far as valgrind is concerned.
I would envision an ExternalLibrary valgrind that provides an interface
that Carpet can use (or just have Carpet check HAVE_VALGRIND).
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1611>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1603: CarpetProlongateTest/test_o9 is failing on several machines
--------------------+-------------------------------------------------------
Reporter: hinder | Owner: eschnett
Type: defect | Status: new
Priority: major | Milestone: ET_2014_05
Component: Carpet | Version: development version
Keywords: |
--------------------+-------------------------------------------------------
CarpetProlongateTest/test_o9 is failing on Gordon, Mike and Redshift. On
Gordon, the differences are
{{{
carpetprolongatetest::difference.d.asc: substantial differences
significant differences on 1 (out of 206) lines
maximum absolute difference in column 13 is 1.07288360595703e-06
maximum absolute difference in column 14 is 6.98491930961609e-10
maximum relative difference in column 13 is 1.12625729345722e-12
maximum relative difference in column 14 is 3
(insignificant differences on 19 lines)
carpetprolongatetest::difference.x.asc: differences below tolerance on
26 lines
carpetprolongatetest::difference.y.asc: differences below tolerance on
26 lines
carpetprolongatetest::errornorm..asc: differences below tolerance on 1
lines
carpetprolongatetest::scalar.d.asc: differences below tolerance on 13
lines
carpetprolongatetest::scalar.x.asc: differences below tolerance on 6
lines
carpetprolongatetest::scalar.y.asc: differences below tolerance on 4
lines
}}}
and on the other machines the results are similar. test.ccl contains
{{{
TEST test_o7
{
ABSTOL 2.0e-11
}
TEST test_o9
{
ABSTOL 5.0e-10
}
TEST test_o11
{
ABSTOL 3.0e-8
}
}}}
Higher order prolongation probably leads to more amplification of roundoff
differences, which is why the absolute tolerances listed here increase
with prolongation order.
On Redshift, which uses -Ofast with gcc, the maximum absolute differences
in columns 13 and 14 are just marginally above the tolerance of 5e-10:
{{{
maximum absolute difference in column 13 is 9.31322574615479e-10
maximum absolute difference in column 14 is 6.98491930961609e-10
maximum relative difference in column 13 is 9.77653900570505e-16
maximum relative difference in column 14 is 3
}}}
However on Gordon and Mike, the column 13 absolute difference is 1e-6,
which presumably means the data is large, so the relative tolerance will
come into play. The default relative tolerance is 1e-12, and the
difference in column 13 is marginally above this.
Gordon:
{{{
maximum absolute difference in column 13 is 1.07288360595703e-06
maximum absolute difference in column 14 is 6.98491930961609e-10
maximum relative difference in column 13 is 1.12625729345722e-12
maximum relative difference in column 14 is 3
}}}
Mike:
{{{
maximum absolute difference in column 13 is 1.07288360595703e-06
maximum absolute difference in column 14 is 6.98491930961609e-10
maximum relative difference in column 13 is 1.12625729345722e-12
maximum relative difference in column 14 is 3
}}}
Should we increase both the relative and absolute tolerances for this test
to 1e-11? I believe that would make the test pass on all three machines.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1603>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1591: Simfactory: add -Wall and '-warn all' options to warning flags for intel
compilers
------------------------+---------------------------------------------------
Reporter: bmundim | Owner: eschnett
Type: defect | Status: new
Priority: major | Milestone: ET_2014_05
Component: SimFactory | Version: development version
Keywords: |
------------------------+---------------------------------------------------
If you add the flag '-warn all' to F77_WARN_FLAGS and F90_WARN_FLAGS the
compiler catches a subtle error (compiler error #8284) related to
subroutine and function calls in Fortran:
{{{
https://software.intel.com/en-us/forums/topic/342615https://software.intel.com/en-us/blogs/2009/03/31/doctor-fortran-in-ive-
come-here-for-an-argument
}}}
Currently grhydro won't compile if we turn on that flag. I suggest to
update all configurations in simfactory using intel compilers with the
flag mentioned above and fix any issue related to this bug on the ET
thorns. Any thoughts on my
proposal?
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1591>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1606: MoL multi-rate support is broken
-----------------------------------+----------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: EinsteinToolkit thorn | Version: development version
Keywords: MoL |
-----------------------------------+----------------------------------------
MoL does not do the initial copy of the past timelevel (which the driver
just rotated into _p) to the current timelevel. Hence the current
timelevel retains the values it had when it was the past-past (assuming
three levels) timelevel (or poison if poisoning is used).
The attached patches do (1) add the required initial_copy and (2) add
support for MoL::initial_data_is_crap to the slow sector.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1606>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1601: test system ignores nprocs unless MPI is found
--------------------+-------------------------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: Cactus | Version: development version
Keywords: |
--------------------+-------------------------------------------------------
the test system script RunTestUtils.pl checks if the configuration is MPI
enabled by looking into some build files (see function ParseExtras and its
use of file $config/bindings/Configuration/Capabilities/cctki_MPI.h).
However in line 549
{{{
if ($have_mpi)
{
$config_data->{'NPROCS'} =
&defprompt(' Enter number of processors ($nprocs)', $nprocs);
}
else
{
print "No MPI available\n";
if ($nprocs > 1)
{
die("Cannot run on $nprocs processes without an MPI
implementation\n");
}
}
}}}
it only sets $config_data->{NPROCS} if MPI was found and leaves it
undefined otherwise. This seems to confuse later parts of the script which
try to decide which tests to run and one gets eg
{{{
Summary for configuration sim
Time -> Mon Apr 28 21:35:38 PDT 2014
Host -> nid27637
Processes ->
User -> rhaas
Total available tests -> 287
Unrunnable tests -> 133
Runnable tests -> 154
Total number of thorns -> 209
Number of tested thorns -> 52
Number of tests passed -> 149
Number passed only to
set tolerance -> 95
Number failed -> 5
}}}
and
{{{
Tests missed for different number of processors required:
checkpointML-EE in AHFinderDirect
(EinsteinAnalysis/AHFinderDirect/test/checkpointML-EE.par)
Requires 1 processors
test_cc_o5 in CarpetProlongateTest
(CarpetExtra/CarpetProlongateTest/test/test_cc_o5.par)
Requires 2 processors
}}}
I suggest setting congif_data->{NPROCS} to 1 if no MPI is found.
Note that this really only happens if one manages to compile without MPI
(which implies no Carpet) or (as in my case) uses simfactory (with 1
process) but has rsync filter rules that prevent it from copying all of
configs/sim to the simulation base dir.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1601>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit