#680: Add kifneg function
-----------------------------------+----------------------------------------
Reporter: eschnett | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: |
-----------------------------------+----------------------------------------
Add an kifneg function that does the opposite of kifpos, because
kifneg is more natural (in the same sense as "ifnotzero" is natural in
C.)
Incidentally, it should probably be renamed "ifmsb" instead, because
it can also be applied to unsigned quantities which don't have a sign
bit.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/680>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#746: new flesh APIs
-------------------------+--------------------------------------------------
Reporter: jtao | Owner:
Type: enhancement | Status: new
Priority: major | Milestone: Cactus_4.1.0
Component: Cactus | Version: development version
Keywords: |
-------------------------+--------------------------------------------------
To support parallel programming on heterogeneous systems, it will be
convenient to have the following APIs provided via flesh. These APIs
will be helpful for properly handling the matching between devices (e.g.
GPUs) and MPI processes.
// return a unique id for the local host;
int CCTK_MyHost(cGH *cctkGH);
// return total number of nodes;
int CCTK_nHosts(cGH *cctkGH);
// return number of mpi processes on a given host
int CCTK_nProcsOnHost(const int host);
// return a list of process on a given host
void CCTK_ProcsOnHost(const int host, int *procs);
Regards,
Jian
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/746>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#742: Let OpenCL print available platform and device info on startup
-------------------------+--------------------------------------------------
Reporter: knarf | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone: ET_2012_05
Component: Cactus | Version: development version
Keywords: |
-------------------------+--------------------------------------------------
This patch lets the OpenCL thorn print information about available
platforms and devices on startup.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/742>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#743: CarpetIOHDF5 should use c++ compiler options for c++ compiler
-------------------------+--------------------------------------------------
Reporter: knarf | Owner: eschnett
Type: enhancement | Status: new
Priority: minor | Milestone: ET_2012_05
Component: Carpet | Version: development version
Keywords: |
-------------------------+--------------------------------------------------
Currently CarpetIOHDF5 uses the c compiler options with the c++ compiler
to build the utilities. This can lead to warnings about flags not
supported by c++ (only by c).
The attached patch let's it use the c++ compiler options instead.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/743>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#741: Support function READS and WRITES statements in schedule.ccl files
-------------------------+--------------------------------------------------
Reporter: hinder | Owner:
Type: enhancement | Status: new
Priority: major | Milestone:
Component: Other | Version:
Keywords: |
-------------------------+--------------------------------------------------
As part of the work on the dependency-based scheduler
(https://docs.einsteintoolkit.org/et-
docs/Adding_requirements_to_the_Cactus_scheduler) and also for writing
code for non-CPU compute devices (GPUs), it is very useful to have
available information about which variables are read from and written to
by a scheduled Cactus function. There is a branch of the flesh
(NewSchedule) on which this support has been implemented. The
application-thorn writer adds READS: <vars> and WRITES: <vars> statements
in the schedule definition of each function. This should be 100%
backwards compatible. For convenience, a diff between the current trunk
and the NewSchedule branch is attached.
OK to merge into the flesh trunk?
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/741>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#740: Carpet commit c8eecbe1968f breaks gcc compilation
--------------------+-------------------------------------------------------
Reporter: tbode | Owner: eschnett
Type: defect | Status: new
Priority: major | Milestone:
Component: Carpet | Version: development version
Keywords: |
--------------------+-------------------------------------------------------
I get the following fatal error when compiling the latest development ET,
fresh checkout, with gcc 4.6.
{{{
#!div style="font-size: 70%"
{{{#!python
COMPILING .../CarpetLib/src/gdata.cc
.../CarpetLib/src/gdata.cc: In function 'MPI_Datatype
mpi_datatype(const slab<T, D>&) [with T = int, int D = 3, MPI_Datatype =
int]':
.../CarpetLib/src/gdata.hh:42:43: instantiated from here
.../CarpetLib/src/gdata.cc:51:21: error: uninitialized const 's'
[-fpermissive]
.../CarpetLib/src/gdata.hh:27:8: note: 'const struct slab<int, 3>' has
no user-provided default constructor
}}}
}}}
I tracked it down to Carpet commit c8eecbe1968f (11. Jan). Is somebody
hiding a patch with a constructor or is there another fix?
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/740>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#617: Norm of NxNx1 grid gives poison in new version of Carpet
------------------------+---------------------------------------------------
Reporter: hinder | Owner: eschnett
Type: defect | Status: new
Priority: minor | Milestone:
Component: Carpet | Version:
Keywords: regression |
------------------------+---------------------------------------------------
I am having a problem with a 2D Carpet unigrid simulation with NxNx1 grid
points in each direction. I have 0 boundary points and 0 ghost points in
the z direction. The norm2 and other norms computed by CarpetIOBasic and
CarpetIOScalar are showing poison. The same happens if I use one boundary
point and one ghost point. The important feature is that zmin = zmax. If
I make zmax = zmin + dz, then the norms are fine. This works fine in the
git version of Carpet - it seems to be a regression in the Mercurial
version.
Parameter file is attached.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/617>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#739: The Cactus teststuite scripts don't understand comments in ActiveThorns-
lines
--------------------+-------------------------------------------------------
Reporter: knarf | Owner: knarf
Type: defect | Status: new
Priority: minor | Milestone: ET_2012_05
Component: Cactus | Version: development version
Keywords: |
--------------------+-------------------------------------------------------
At the moment Cactus testsuite script don't understand commends in
ActiveThorns-lines. This is not critical, but still surprising to find
that this way Cactus does not consider to run a test case which otherwise
should.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/739>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#738: use catch/throw in LORENE ID thorns to report file-open failures
-----------------------------------+----------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: |
-----------------------------------+----------------------------------------
the LORENE classes Bin_NS/Bin_BH/Mag_NS do not check for errors in fopen
and simply pass the returned file hanlde to fread. If one enters the wrong
filename in parameter files this causes a segfault. The attached patches
add a patch to ExternalLibraries/LORENE to check for the error condition
and throw ios_base::failure(sterror(errno)) upon error. The ID thorns
catch this exception.
My main questions is whether we are happy with this kind of error handling
using C++ exceptions (which requires very little code change) or would
rather have the LORENE classes themselves spit out the error message (and
abort()). Notice that the error happens in a constructor so I cannot
simply return an error code from the LORENE function.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/738>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#735: provide names for spherical surfaces
-------------------------+--------------------------------------------------
Reporter: rhaas | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Other | Version:
Keywords: |
-------------------------+--------------------------------------------------
the attached set of patches provide a simple function
{{{
sf_IdFromName(CCTK_INT id, CCTK_STRING name)
}}}
(and similar for Fortran) as well as changes for AHFinderDirect,
QuasiLocalMeasures and SetMask_SphericalSurface to use it.
The code compiles and passes the testsuites for QLM and AHFinderDirect
(testing both with ids by name and by number).
If this code is roughly in concordance with how this ought-to-be-done in
Cactus, then please apply (I have commit rights to QLM and AHFinderDirect
only but not SphericalSurface and SetMask_SphericalSurface).
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/735>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit