mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-10 07:55:35 +00:00
120 lines
3.7 KiB
Plaintext
120 lines
3.7 KiB
Plaintext
* - BinaryWriter, TextWriter etc...
|
|
- protocol buffers? replace xml
|
|
|
|
* Stencil operator support -----Initial thoughts, trial implementation DONE.
|
|
-----some simple tests that Stencil matches Cshift.
|
|
-----do all permute in comms phase, so that copy permute
|
|
-----cases move into a buffer.
|
|
-----allow transform in/out buffers spproj
|
|
|
|
|
|
* CovariantShift support -----Use a class to store gauge field? (parallel transport?)
|
|
|
|
* Consider switch std::vector to boost arrays or something lighter weight
|
|
boost::multi_array<type, 3> A()... to replace multi1d, multi2d etc..
|
|
|
|
* How to define simple matrix operations, such as flavour matrices?
|
|
|
|
* Make the Tensor types and Complex etc... play more nicely.
|
|
|
|
* Dirac, Pauli, SU subgroup, etc.. * Gamma/Dirac structures
|
|
|
|
* Fourspin, two spin project
|
|
|
|
* su3 exponentiation & log etc.. [Jamie's code?]
|
|
TaProj
|
|
|
|
* Parallel MPI2 IO
|
|
|
|
* rb4d support.
|
|
|
|
* Check for missing functionality - partially audited against QDP++ layout
|
|
|
|
* Optimise the extract/merge SIMD routines; Azusa??
|
|
- I have collated into single location at least.
|
|
- Need to use _mm_*insert/extract routines.
|
|
|
|
* Conformable test in Cshift routines.
|
|
|
|
* QDP++ regression suite and comparative benchmark
|
|
|
|
AUDITS:
|
|
|
|
* FIXME audit
|
|
* const audit
|
|
* Replace vset with a call to merge.;
|
|
* care in Gmerge,Gextract over vset .
|
|
* extract / merge extra implementation removal
|
|
* Test infrastructure
|
|
|
|
// TODO
|
|
//
|
|
// Base class to share common code between vRealF, VComplexF etc...
|
|
//
|
|
// Unary functions
|
|
// cos,sin, tan, acos, asin, cosh, acosh, tanh, sinh, // Scalar<vReal> only arg
|
|
// exp, log, sqrt, fabs
|
|
//
|
|
// transposeColor, transposeSpin,
|
|
// adjColor, adjSpin,
|
|
//
|
|
// copyMask.
|
|
//
|
|
// localMaxAbs
|
|
//
|
|
// Fourier transform equivalent.
|
|
|
|
* LinearOperator
|
|
|
|
LinearSolver
|
|
|
|
Polynomial etc...
|
|
|
|
======================================================================================================
|
|
|
|
FUNCTIONALITY:
|
|
* Conditional execution, where etc... -----DONE, simple test
|
|
* Integer relational support -----DONE
|
|
* Coordinate information, integers etc... -----DONE
|
|
* Integer type padding/union to vector. -----DONE
|
|
* LatticeCoordinate[mu] -----DONE
|
|
* expose traceIndex, peekIndex, transposeIndex etc at the Lattice Level -- DONE
|
|
* TraceColor, TraceSpin. ----- DONE (traceIndex<1>,traceIndex<2>, transposeIndex<1>,transposeIndex<2>)
|
|
----- Implement mapping between traceColour and traceSpin and traceIndex<1/2>.
|
|
* How to do U[mu] ... lorentz part of type structure or not. more like chroma if not. -- DONE
|
|
|
|
* subdirs lib, tests ?? ----- DONE
|
|
- lib/math
|
|
- lib/cartesian
|
|
- lib/cshift
|
|
- lib/stencil
|
|
- lib/communicator
|
|
- lib/algorithms
|
|
- lib/qcd
|
|
future
|
|
- lib/io/ -- GridLog, GridIn, GridErr, GridDebug, GridMessage
|
|
- lib/qcd/actions
|
|
- lib/qcd/measurements
|
|
|
|
* Subset support, slice sums etc... -----DONE
|
|
sliceSum(orthog)
|
|
sum
|
|
innerProduct
|
|
norm2
|
|
|
|
* Subgrid Transferral -----DONE
|
|
subBlock (coarseLattice,fineLattice)
|
|
projectBlockBasis
|
|
promoteBlockBasis
|
|
|
|
* random number generation ----- DONE
|
|
|
|
* Broadcast, reduction tests. innerProduct, localInnerProduct --- DONE
|
|
|
|
* I/O support
|
|
* NERSC Lattice loading, plaquette test ------- DONE single node
|
|
|
|
|
|
* Controling std::cout ------- DONE
|
|
|