Differences between revisions 1 and 5 (spanning 4 versions)
Revision 1 as of 2010-01-14 19:03:58
Size: 1231
Comment: stub page for adding notes on changes supporting GPU (CUDA) for surface stuff
Revision 5 as of 2010-01-20 14:19:04
Size: 1593
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
''See also:'' [[CUDADevelopersGuide]]
Line 9: Line 11:
=== mrisComputeMetricPropertiesCUDA === ----
=== Implemented ===
==== TODO ====
 * handle ripflag
 * handle corner-cases
 * consolidate cpu and cuda routines (the routines listed below are copies of the cpu versions, so much is redundant, making long-term maintenance a hassle)

==== mrisComputeMetricPropertiesCUDA ====
{{{
Line 12: Line 22:
}}}
Line 13: Line 24:

=== mrisIntegrateCUDA ===
==== mrisIntegrateCUDA ====
{{{
Line 18: Line 29:
}}}
Line 19: Line 31:

=== mrisLineMinimizeCUDA ===
==== mrisLineMinimizeCUDA ====
{{{
Line 24: Line 36:
}}}
Line 25: Line 38:

=== mrisComputeDistanceErrorCUDA ===
==== mrisComputeDistanceErrorCUDA ====
{{{
Line 30: Line 43:
}}}
Line 31: Line 45:

=== MRIScomputeSSE_CUDA ===
==== MRIScomputeSSE_CUDA ====
{{{
Line 36: Line 50:
}}}
----
=== Planned ===

See also: CUDADevelopersGuide

CUDA mrisurf

Author: T.Witzel

Notes on CUDA implementation of some of the surface functions in mrisurf.c.

see dev/utils/mrisurf.c, dev/utils/mrisurf_cuda.cu and dev/include/mrisurf_cuda.h


Implemented

TODO

  • handle ripflag
  • handle corner-cases
  • consolidate cpu and cuda routines (the routines listed below are copies of the cpu versions, so much is redundant, making long-term maintenance a hassle)

mrisComputeMetricPropertiesCUDA

static int mrisComputeMetricPropertiesCUDA(MRI_CUDA_SURFACE *mrics,
                                           MRI_SURFACE *mris);

mrisIntegrateCUDA

static int mrisIntegrateCUDA(MRI_SURFACE *mris,
                             INTEGRATION_PARMS *parms,
                             int n_averages);

mrisLineMinimizeCUDA

static double mrisLineMinimizeCUDA(MRI_CUDA_SURFACE *mrisc,
                                   MRI_SURFACE *mris,
                                   INTEGRATION_PARMS *parms);

mrisComputeDistanceErrorCUDA

static float mrisComputeDistanceErrorCUDA(MRI_SURFACE *mris,
                                          MRI_CUDA_SURFACE *mrisc,
                                          INTEGRATION_PARMS *parms);

MRIScomputeSSE_CUDA

static double MRIScomputeSSE_CUDA(MRI_SURFACE *mris,
                                  MRI_CUDA_SURFACE *mrisc,
                                  INTEGRATION_PARMS *parms);


Planned

mrisurf_CUDA (last edited 2010-01-20 14:19:04 by NickSchmansky)