Index of /~creutz/qcdoc

[ICO]NameLast modifiedSizeDescription

[DIR]Parent Directory  -
[   ]Makefile.user.rules21-Oct-2004 14:48 2.1K
[DIR]fft/08-Jul-2004 14:08 -
[DIR]hello0/08-Jun-2004 11:43 -
[DIR]hello1/08-Jun-2004 11:44 -
[DIR]hello2/08-Jun-2004 11:44 -
[DIR]mpi/16-Jun-2004 11:46 -
[DIR]qmemcpy/18-Aug-2004 10:14 -
[   ]qos-1.ps20-Oct-2004 11:46 255K
[DIR]sun/29-Jul-2004 14:47 -
[TXT]using.txt20-Oct-2004 11:52 5.8K

Here are the results of some of my efforts to learn
to use the qcdoc supercomputer.  These are all evolving
and I would be happy to receive comments.

using.txt is a basic cheat sheet on how to compile and
run on the qcdoc.

The directories hello* are variations on hello world
for the qcdoc.

Makefile.user.rules is used by the various example programs.

*********************

The other directories contain things involving my general
communication scheme.  At the bottom level is qmemcpy, which 
generalizes memcpy to arbitrary interprocessor transfers.  
The prototype is

 qmemcpy(int destproc, void* dest, int srcproc, void* src, int size);

Contained in the directory sun is a generic SU(N) pure gauge
simulation for arbitrary N and dimensions.

The directory mpi contains the beginning of an MPI implementation 
using qmemcpy.

A generic fft program is in the directory fft.  The prototype for the 
one public function is

 qfft(int dim, int * shape, findfield src, findfield dest, int direction);

where findfield is a simple structure giving the lattice layout

typedef struct {
  int (*node)(int * x);        
  void * (*address)(int * x);
} findfield;

Thus, the field phi at position {x[0],x[1]...x[dim-1]} is on processor
phi.node(x) at address phi.address(x).  The argument "direction"
should be plus or minus one depending on whether one wants exp(ipx) or
exp(-ipx) in the fourier transform; these are inverses of each other
(up to a factor of the volume).

Mike