#1465: Boost doesn't honor parallel build options
-----------------------------------+----------------------------------------
Reporter: knarf | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version: development version
Keywords: |
-----------------------------------+----------------------------------------
ExternalLibraries/Boost doesn't honor parallel build options. This is
because it doesn't use 'make' to build, but a tool called 'b2', which
isn't using 'make's environment variables, nor is it capable to interact
with the jobserver make provides. Manually parsing MAKEFLAGS inside the
configure script of the thorn also doesn't work, as this doesn't contain
the requested number of jobs, but only the fact that a parallel build was
requested and a pointer to the jobserver. Manually interacting with this
job server might be possible for gnu make, but is probably messy and
highly likely not portable.
However, building a huge package like Boost in parallel is something we
have to achieve. On my workstation it reduces the time used for building
Boost alone from about 500s to 60s.
The only alternative that is easy enough to implement that I can see right
now is to make it possible to pass a number of processes used for building
to Cactus (in addition to passing it to make), and Boost using this
variable for the parallel build. Simfactory should then also pass this to
Cactus. One downside of this would be that if multiple libraries were to
be built in parallel you might end up using almost twice as many jobs than
specified. On the other hand, this doesn't seem to be the case right now
and even if using twice as many might be better than many times too few.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1465>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1314: increase number of triggers in AEIThorns trigger
-----------------------------------+----------------------------------------
Reporter: rhaas | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: Trigger |
-----------------------------------+----------------------------------------
currently the max is 10. I find myself needing more (15 to be precise).
Can we increase this number to say 39 (or some other largish non-typical
number) or are that many parameters too expensive to support?
Similarly (but more complicated) it would be useful to be able to steer
more than one parameter/grid scalar when a trigger triggers. The current
way of specifying targets is unfortunately not well suited for this.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1314>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1117: Wrong CarpetIOASCII headers for complex 2D output.
----------------------------------------+-----------------------------------
Reporter: reisswig@… | Type: defect
Status: new | Priority: minor
Milestone: | Component: Other
Version: | Keywords:
----------------------------------------+-----------------------------------
I am outputting a 2d _complex_ array (called "extracted_vars") using 2d
CarpetIOASCII output.
Using the standard output format, the data starts at column 13.
So the first array element "extracted_vars[0]" is at column 13.
Now, since I have a complex array, the second element,
"extracted_vars[1]", must be at column 15 (column 14 contains the
imaginary part of element [0]). In older versions of Carpet, this was
reported correctly in the header. In the current version, it is incorrect.
The second element, "extracted_vars[1]" is reported to be in column 14
instead of 15.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1117>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#542: Remove thorn CactusArchive/ADM from thorn list
-----------------------------------+----------------------------------------
Reporter: eschnett | Owner:
Type: task | Status: new
Priority: major | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: |
-----------------------------------+----------------------------------------
Remove thorn CactusArchive/ADM from thorn list. This thorn is outdated,
and we should updated out test cases instead. It also takes a long time
and a lot of memory to compile.
If we want an ADM formulation (which is doubtful since we don't use it
ourselves), we should implement one via Kranc.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/542>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#114: per-variable tolerances for Cactus testsuites
-------------------------+--------------------------------------------------
Reporter: knarf | Owner:
Type: enhancement | Status: new
Priority: major | Milestone: ET_2011_06
Component: Cactus | Version:
Keywords: |
-------------------------+--------------------------------------------------
It would be nice to be able to specify per-variable testsuite tolerances
in Cactus (per regexp for the name in the ideal case).
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/114>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1352: ExternalLibraries/Lua requires readline-headers
--------------------+-------------------------------------------------------
Reporter: knarf | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: Other | Version:
Keywords: |
--------------------+-------------------------------------------------------
ExternalLibraries/Lua requires readline-headers, but there is no check for
it. We could provide a thorn containing it (or forget about the lua thorn
- I don't know of any user right now).
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1352>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1401: misspelling ActiveThorns in parfiles results in unhelpful error message
--------------------+-------------------------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: Cactus | Version: development version
Keywords: |
--------------------+-------------------------------------------------------
the attached parfile (which misspells ActiveThorns as ActiveThrons) causes
the error message:
{{{
Activating thorn Cactus...Success -> active implementation Cactus
ERROR IN PARAMETER FILE:
In rule 'file::set::par' Line=1, Column=13
ActiveThrons = "Cactus"
^
Expected one of the following characters: [ \t\r\n#:]
WARNING level 0 in thorn Cactus processor 0 host horizon.tapir.caltech.edu
(line 167 of
/mnt/data/rhaas/postdoc/gr/Zelmani/src/main/ProcessParameterDatabase.c):
-> CCTKi_SetParameterSetMask: 1 parsing errors in parameter file
WARNING level 0 in thorn Cactus processor 0 host horizon.tapir.caltech.edu
(line 167 of
/mnt/data/rhaas/postdoc/gr/Zelmani/src/main/ProcessParameterDatabase.c):
-> CCTKi_SetParameterSetMask: 1 parsing errors in parameter file
}}}
which does not provide a hint for the cause of the error.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1401>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1381: Carpet no longer has an implied sync() call after restriction
--------------------+-------------------------------------------------------
Reporter: rhaas | Owner: eschnett
Type: defect | Status: new
Priority: minor | Milestone:
Component: Carpet | Version: development version
Keywords: |
--------------------+-------------------------------------------------------
I just pushed two tests for the higher order restriction code into
CarpetProlongateTest. What I did was to generate the test data before the
commit that removes the extra sync, then save the data and apply as the
test data on top of the master branch. I also verified that indeed I get
the same restricted data across an interprocessor boundary (ie in the z
direction of the tests).
Surprisingly I actually do since in fact the schedule.ccl file in
CarpetProlongateTest does not apply boundary conditions are SYNC in
MoL_PostStep so that I should have gotten test failures.
This would seem to indicate that either (a) I don't have my test setup
correctly (always possibly) or (b) there is yet another SYNC hidden
somewhere inside of CarpetLib/Carpet.
On the other hand, the current "_rest" tests in CarpetProlongateTest now
fail for me unless I re-add the sync. Adding a dummy routine and SYNC to
MoL_PostStep which I think is the correct thing to do does not help
possibly because the SYNC implies a prolongation while a low-level sync
call does not (and which is where I see differences). This of course would
argue against (b) above.
Attached please find my code change a a plot of diffference.z.asc for
test_cc_rest_o3 before and after the change.
I do not necessarily think that this is a bug, it certainly is unexpected
though.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1381>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1363: Crash on startup in Piraha
----------------------+-----------------------------------------------------
Reporter: eschnett | Owner:
Type: defect | Status: new
Priority: blocker | Milestone: ET_2013_05
Component: Other | Version:
Keywords: |
----------------------+-----------------------------------------------------
I built a Cactus configuration with fewer thorns than usual, and with
assertions disabled (-DNDEBUG. This configuration does not start; it
crashes on startup with a backtrace
{{{
#0 std::_Rb_tree<void*, void*, std::_Identity<void*>, std::less<void*>,
std::allocator<void*> >::_M_insert_unique<void* const&> (this=0x0,
__v=@0x7fff5fbfd228) at locale_facets.h:1078
#1 0x000000010072e6f2 in smart_ptr<piraha::Grammar>::smart_ptr
(this=0x104b9d0d0, ptr=0x10570a5a0, array_=<value temporarily unavailable,
due to optimizations>) at stl_set.h:415
#2 0x0000000100721542 in piraha::AutoGrammar::reparserGenerator () at
AutoGrammar.cc:6
#3 0x0000000100c2ada6 in _GLOBAL__sub_I_Grammar.cc () at smart_ptr.hpp:53
#4 0x00007fff5fc13762 in
__dyld__ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE
()
}}}
This indicates that the failure oocurs during initialisation of a global
variable during startup. _Rb_tree points to a set or a map. This may be
caused by
{{{
extern smart_ptr<Grammar> pegGrammar;
}}}
I also see that Piraha has some code in smart_ptr.hpp that is only added
when DNEBUG is defined, and contains assert calls (!). Given that NDEBUG
disables assert, this looks like an error.
It is considered bad style to use C++ constructors to initialise global
variables; this is fragile and breaks often. I suggest instead to change
these global variables to pointers, to initialise them to NULL, and to
allocate to respective objects explicitly at run time. This is safer, as
it ensures that things are allocated in the right order.
I also just see that there is a global variables called "ptrs" in Piraha.
This is not good; please use a cctki_ prefix for all globally visible
variables and functions (or move them into a namespace).
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1363>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1457: m=2 ftp coefficient for teukolsky waves in IDLinearWaves missing
-----------------------------------+----------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: EinsteinToolkit thorn | Version: development version
Keywords: |
-----------------------------------+----------------------------------------
the theta-phi coefficient was not set at all and contained random data.
The patch implements the coefficient as found in Eq. 7 of PRD 26:745
(1982) which is the paper referenced in the docs.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1457>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit