#2564: Cactus's configure test "checking whether we are using GNU C++" uses .C for C++ files
Reporter: Roland Haas
Status: new
Milestone:
Version: development version
Type: enhancement
Priority: trivial
Component:
Changes (by Roland Haas):
priority: trivial (was minor)
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2564/cactuss-configure…
#2588: defaults for XXX_OPENMP_FLAGS differ between linux and darwin architectures
Reporter: Roland Haas
Status: new
Milestone:
Version: development version
Type: bug
Priority: trivial
Component: Cactus
Changes (by Roland Haas):
title: defaults for XXX_OPENMP_FLAGS differ between linux and darwin architectures (was defaults for XXX_OPENMP_FLAGS differ between linux and darwnin architectures)
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2588/defaults-for-xxx_…
#2588: defaults for XXX_OPENMP_FLAGS differ between linux and darwnin architectures
Reporter: Roland Haas
Status: new
Milestone:
Version: development version
Type: bug
Priority: trivial
Component: Cactus
Cactus known-architectures files `lib/make/known-architectures/linux` and `lib/make/known-architectures/darwin` differ in whether they set defaults for `XXX_OPENMP_FLAGS`. Namely the Linux one contains:
```
ib/make/known-architectures/linux: : ${CXX_OPENMP_FLAGS='-fopenmp'}
lib/make/known-architectures/linux: : ${CXX_OPENMP_FLAGS='-openmp'}
lib/make/known-architectures/linux: : ${CXX_OPENMP_FLAGS='-mp'}
lib/make/known-architectures/linux: : ${CXX_OPENMP_FLAGS='-openmp'}
lib/make/known-architectures/linux: : ${CXX_OPENMP_FLAGS='-qsmp=omp'}
```
while the darwin \(macOS\) one does not set any defaults. Other architectures \(aix\) set a them as well while yet others \(all others\) do not.
Ideally the defaults should be the same for all architectures \(and nowadays probably `-fopenmp`\). The value of `OPENMP` itself \(ie if OpenMP is used\) is not set by any architecture file.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2588/defaults-for-xxx_…
#2553: Cactus' link command uses CPPFLAGS and CXXFLAGS
Reporter: Roland Haas
Status: open
Milestone:
Version: development version
Type: bug
Priority: minor
Component: Cactus
Comment (by Roland Haas):
Removing CXXFLAGS and CPPFLAGS from the LD line leads to link time failures about `GOMP_parallel` not being found. Adding `LD_OPENMP_FLAGS = -fopenmp` does not help since that variable is not used. The only `X_OPENMP_FLAGS` variables in configure are:
```
lib/make/configure:F77_OPENMP_FLAGS="$F90_OPENMP_FLAGS"
lib/make/configure:s%@CPP_OPENMP_FLAGS@%$CPP_OPENMP_FLAGS%g
lib/make/configure:s%@FPP_OPENMP_FLAGS@%$FPP_OPENMP_FLAGS%g
lib/make/configure:s%@C_OPENMP_FLAGS@%$C_OPENMP_FLAGS%g
lib/make/configure:s%@CXX_OPENMP_FLAGS@%$CXX_OPENMP_FLAGS%g
lib/make/configure:s%@CUCC_OPENMP_FLAGS@%$CUCC_OPENMP_FLAGS%g
lib/make/configure:s%@F90_OPENMP_FLAGS@%$F90_OPENMP_FLAGS%g
lib/make/configure:s%@F77_OPENMP_FLAGS@%$F77_OPENMP_FLAGS%g
```
So one first needs to define a new variable `LD_OPENMP_FLAGS` then make sure it gets added to `LDFLAGS` and then one can remove `CXXFLAGS`. Probably also a good idea to set `LD_OPENMP_FLAGS` to the same default as `CXX_OPENMP_FLAGS` in `lib/make/known-architectures/linux`
If one wants to preserve backwards compatibility then one also needs to default `LD_OPENMP_FLAGS` to `CXX_OPENMP_FLAGS`.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2553/cactus-link-comma…
#2587: update list of ET related lectures
Reporter: Roland Haas
Status: new
Milestone:
Version: development version
Type: enhancement
Priority: minor
Component: Cactus website
Comment (by Roland Haas):
This should be easily doable as a hackathon item \(but might not be interesting\).
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2587/update-list-of-et…
#2483: Simfactory job parameters are not consistent
Reporter: Steven R. Brandt
Status: new
Milestone:
Version:
Type: bug
Priority: major
Component: SimFactory
Comment (by Steven R. Brandt):
“--total-threads” is just a new name for the number of parallel thingies, which aren’t really “cores” and aren’t really “procs.”
As for “--nodes” and “--node-procs” it offers a way to directly specify how you want mpi to do, rather than doing a calucation based on cores/procs/total-threads. I suspect I’m not the only one who would find that more convenient.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2483/simfactory-job-pa…
#2483: Simfactory job parameters are not consistent
Reporter: Steven R. Brandt
Status: new
Milestone:
Version:
Type: bug
Priority: major
Component: SimFactory
Comment (by Roland Haas):
I suspect that `--total-threads` will still require smt information since `--total-threads = --procs * --num-threads` so there is no extra information available. The smt stuff is really used for the queuing system since those sometimes need to know whether the code uses smt or not \(since they want a ppn like value and that differs between smt and non-smt\).
I am not trying to suggest nodes and nodes procs, no. I am suggesting to use the names items used by `mpirun` which is “number of MPI ranks” and OS threads \(`OMP_NUM_THREADS`\). smt will still be required \(same reason as for `--total-threads`\). Ie re-use names and nomenclature that people who are using a cluster are already familiar with.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2483/simfactory-job-pa…
#2483: Simfactory job parameters are not consistent
Reporter: Steven R. Brandt
Status: new
Milestone:
Version:
Type: bug
Priority: major
Component: SimFactory
Comment (by Steven R. Brandt):
I chose the term “total threads” because that’s what all of the documentation uses. You have stated previously that you think you don’t want to support the terminology in the documentation. There is a PR \(the \`fixsub\` branch of simfactory\) which implements `--total-threads`. It also introduces `--nodes` and `--node-procs` which \(I think\) is the functionality you are suggesting with `--ranks` or `--mpi-ranks`. It also introduces `--test` to see whether the simfactory options you provide do what you think they do.
I would be perfectly happy to name all these options something different, but I would like to see this PR accepted in some form, as both `--procs` and `--cores` are not the things that they are named after. I have frequently been confused by the behavior of these parameters.
An alternative to the `--total-threads` would be to simply get rid of the smt stuff, which was the source of much confusion for me.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2483/simfactory-job-pa…