|
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);
