Skip to content

Commit bf6e7e5

Browse files
committed
add opts gpu_np to cufinufft.mw then regen mex interface and docs
1 parent d9afd96 commit bf6e7e5

File tree

2 files changed

+61
-55
lines changed

2 files changed

+61
-55
lines changed

matlab/cufinufft.cu

Lines changed: 58 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1166,6 +1166,9 @@ typedef std::complex<float> fcomplex;
11661166
else if (strcmp(fname[ifield],"gpu_device_id") == 0) {
11671167
oc->gpu_device_id = (int)round(*mxGetPr(mxGetFieldByNumber(om,idx,ifield)));
11681168
}
1169+
else if (strcmp(fname[ifield],"gpu_np") == 0) {
1170+
oc->gpu_np = (int)round(*mxGetPr(mxGetFieldByNumber(om,idx,ifield)));
1171+
}
11691172
else
11701173
continue;
11711174
}
@@ -1328,7 +1331,7 @@ mxWrapCopyZDef_single (mxWrapCopy_single_dcomplex, dcomplex,
13281331
mxWrapReturnZDef_single (mxWrapReturn_single_dcomplex, dcomplex,
13291332
real_dcomplex, imag_dcomplex)
13301333

1331-
/* ---- cufinufft.mw: 153 ----
1334+
/* ---- cufinufft.mw: 156 ----
13321335
* cufinufft_opts* o = new();
13331336
*/
13341337
static const char* stubids1_ = "c o cufinufft_opts* = new()";
@@ -1349,7 +1352,7 @@ mw_err_label:
13491352
mexErrMsgTxt(mw_err_txt_);
13501353
}
13511354

1352-
/* ---- cufinufft.mw: 155 ----
1355+
/* ---- cufinufft.mw: 158 ----
13531356
* cufinufft_plan* p = new();
13541357
*/
13551358
static const char* stubids2_ = "c o cufinufft_plan* = new()";
@@ -1370,9 +1373,9 @@ mw_err_label:
13701373
mexErrMsgTxt(mw_err_txt_);
13711374
}
13721375

1373-
/* ---- cufinufft.mw: 156 ----
1376+
/* ---- cufinufft.mw: 159 ----
13741377
* cufinufft_default_opts(cufinufft_opts* o);
1375-
* Also at cufinufft.mw: 159
1378+
* Also at cufinufft.mw: 162
13761379
*/
13771380
static const char* stubids3_ = "cufinufft_default_opts(c i cufinufft_opts*)";
13781381

@@ -1395,7 +1398,7 @@ mw_err_label:
13951398
mexErrMsgTxt(mw_err_txt_);
13961399
}
13971400

1398-
/* ---- cufinufft.mw: 158 ----
1401+
/* ---- cufinufft.mw: 161 ----
13991402
* cufinufftf_plan* p = new();
14001403
*/
14011404
static const char* stubids4_ = "c o cufinufftf_plan* = new()";
@@ -1416,7 +1419,7 @@ mw_err_label:
14161419
mexErrMsgTxt(mw_err_txt_);
14171420
}
14181421

1419-
/* ---- cufinufft.mw: 170 ----
1422+
/* ---- cufinufft.mw: 173 ----
14201423
* copy_cufinufft_opts(mxArray opts, cufinufft_opts* o);
14211424
*/
14221425
static const char* stubids6_ = "copy_cufinufft_opts(c i mxArray, c i cufinufft_opts*)";
@@ -1443,7 +1446,7 @@ mw_err_label:
14431446
mexErrMsgTxt(mw_err_txt_);
14441447
}
14451448

1446-
/* ---- cufinufft.mw: 173 ----
1449+
/* ---- cufinufft.mw: 176 ----
14471450
* int ier = cufinufft_makeplan(int type, int dim, int64_t[3] n_modes, int iflag, int n_trans, double tol, cufinufft_plan* plan, cufinufft_opts* o);
14481451
*/
14491452
static const char* stubids7_ = "c o int = cufinufft_makeplan(c i int, c i int, c i int64_t[x], c i int, c i int, c i double, c i cufinufft_plan*, c i cufinufft_opts*)";
@@ -1536,7 +1539,7 @@ mw_err_label:
15361539
mexErrMsgTxt(mw_err_txt_);
15371540
}
15381541

1539-
/* ---- cufinufft.mw: 176 ----
1542+
/* ---- cufinufft.mw: 179 ----
15401543
* int ier = cufinufftf_makeplan(int type, int dim, int64_t[3] n_modes, int iflag, int n_trans, float tol, cufinufftf_plan* plan, cufinufft_opts* o);
15411544
*/
15421545
static const char* stubids8_ = "c o int = cufinufftf_makeplan(c i int, c i int, c i int64_t[x], c i int, c i int, c i float, c i cufinufftf_plan*, c i cufinufft_opts*)";
@@ -1629,7 +1632,7 @@ mw_err_label:
16291632
mexErrMsgTxt(mw_err_txt_);
16301633
}
16311634

1632-
/* ---- cufinufft.mw: 178 ----
1635+
/* ---- cufinufft.mw: 181 ----
16331636
* delete(cufinufft_opts* o);
16341637
*/
16351638
static const char* stubids9_ = "delete(c i cufinufft_opts*)";
@@ -1653,7 +1656,7 @@ mw_err_label:
16531656
mexErrMsgTxt(mw_err_txt_);
16541657
}
16551658

1656-
/* ---- cufinufft.mw: 208 ----
1659+
/* ---- cufinufft.mw: 211 ----
16571660
* int ier = cufinufft_setpts(cufinufft_plan plan, int nj, gpu double[] xj, gpu double[] yj, gpu double[] zj, int nk, gpu double[] s, gpu double[] t, gpu double[] u);
16581661
*/
16591662
static const char* stubids10_ = "c o int = cufinufft_setpts(c i cufinufft_plan, c i int, g i double[], g i double[], g i double[], c i int, g i double[], g i double[], g i double[])";
@@ -1765,7 +1768,7 @@ mw_err_label:
17651768
mexErrMsgTxt(mw_err_txt_);
17661769
}
17671770

1768-
/* ---- cufinufft.mw: 210 ----
1771+
/* ---- cufinufft.mw: 213 ----
17691772
* int ier = cufinufftf_setpts(cufinufftf_plan plan, int nj, gpu float[] xj, gpu float[] yj, gpu float[] zj, int nk, gpu float[] s, gpu float[] t, gpu float[] u);
17701773
*/
17711774
static const char* stubids11_ = "c o int = cufinufftf_setpts(c i cufinufftf_plan, c i int, g i float[], g i float[], g i float[], c i int, g i float[], g i float[], g i float[])";
@@ -1877,7 +1880,7 @@ mw_err_label:
18771880
mexErrMsgTxt(mw_err_txt_);
18781881
}
18791882

1880-
/* ---- cufinufft.mw: 242 ----
1883+
/* ---- cufinufft.mw: 245 ----
18811884
* int ier = cufinufft_execute(cufinufft_plan plan, gpu dcomplex[] data_in, gpu output dcomplex[ncoeffs] result);
18821885
*/
18831886
static const char* stubids12_ = "c o int = cufinufft_execute(c i cufinufft_plan, g i dcomplex[], g o dcomplex[x])";
@@ -1935,7 +1938,7 @@ mw_err_label:
19351938
mexErrMsgTxt(mw_err_txt_);
19361939
}
19371940

1938-
/* ---- cufinufft.mw: 244 ----
1941+
/* ---- cufinufft.mw: 247 ----
19391942
* int ier = cufinufftf_execute(cufinufftf_plan plan, gpu fcomplex[] data_in, gpu output fcomplex[ncoeffs] result);
19401943
*/
19411944
static const char* stubids13_ = "c o int = cufinufftf_execute(c i cufinufftf_plan, g i fcomplex[], g o fcomplex[x])";
@@ -1993,7 +1996,7 @@ mw_err_label:
19931996
mexErrMsgTxt(mw_err_txt_);
19941997
}
19951998

1996-
/* ---- cufinufft.mw: 250 ----
1999+
/* ---- cufinufft.mw: 253 ----
19972000
* int ier = cufinufft_execute(cufinufft_plan plan, gpu output dcomplex[nj, n_trans] result, gpu dcomplex[] data_in);
19982001
*/
19992002
static const char* stubids14_ = "c o int = cufinufft_execute(c i cufinufft_plan, g o dcomplex[xx], g i dcomplex[])";
@@ -2053,7 +2056,7 @@ mw_err_label:
20532056
mexErrMsgTxt(mw_err_txt_);
20542057
}
20552058

2056-
/* ---- cufinufft.mw: 252 ----
2059+
/* ---- cufinufft.mw: 255 ----
20572060
* int ier = cufinufftf_execute(cufinufftf_plan plan, gpu output fcomplex[nj, n_trans] result, gpu fcomplex[] data_in);
20582061
*/
20592062
static const char* stubids15_ = "c o int = cufinufftf_execute(c i cufinufftf_plan, g o fcomplex[xx], g i fcomplex[])";
@@ -2113,7 +2116,7 @@ mw_err_label:
21132116
mexErrMsgTxt(mw_err_txt_);
21142117
}
21152118

2116-
/* ---- cufinufft.mw: 256 ----
2119+
/* ---- cufinufft.mw: 259 ----
21172120
* int ier = cufinufft_execute(cufinufft_plan plan, gpu dcomplex[] data_in, gpu output dcomplex[nk, n_trans] result);
21182121
*/
21192122
static const char* stubids16_ = "c o int = cufinufft_execute(c i cufinufft_plan, g i dcomplex[], g o dcomplex[xx])";
@@ -2173,7 +2176,7 @@ mw_err_label:
21732176
mexErrMsgTxt(mw_err_txt_);
21742177
}
21752178

2176-
/* ---- cufinufft.mw: 258 ----
2179+
/* ---- cufinufft.mw: 261 ----
21772180
* int ier = cufinufftf_execute(cufinufftf_plan plan, gpu fcomplex[] data_in, gpu output fcomplex[nk, n_trans] result);
21782181
*/
21792182
static const char* stubids17_ = "c o int = cufinufftf_execute(c i cufinufftf_plan, g i fcomplex[], g o fcomplex[xx])";
@@ -2233,7 +2236,7 @@ mw_err_label:
22332236
mexErrMsgTxt(mw_err_txt_);
22342237
}
22352238

2236-
/* ---- cufinufft.mw: 270 ----
2239+
/* ---- cufinufft.mw: 273 ----
22372240
* cufinufft_destroy(cufinufft_plan plan);
22382241
*/
22392242
static const char* stubids18_ = "cufinufft_destroy(c i cufinufft_plan)";
@@ -2261,7 +2264,7 @@ mw_err_label:
22612264
mexErrMsgTxt(mw_err_txt_);
22622265
}
22632266

2264-
/* ---- cufinufft.mw: 272 ----
2267+
/* ---- cufinufft.mw: 275 ----
22652268
* cufinufftf_destroy(cufinufftf_plan plan);
22662269
*/
22672270
static const char* stubids19_ = "cufinufftf_destroy(c i cufinufftf_plan)";
@@ -2356,24 +2359,24 @@ void mexFunction(int nlhs, mxArray* plhs[],
23562359
} else if (strcmp(id, "*profile report*") == 0) {
23572360
if (!mexprofrecord_)
23582361
mexPrintf("Profiler inactive\n");
2359-
mexPrintf("%d calls to cufinufft.mw:153\n", mexprofrecord_[1]);
2360-
mexPrintf("%d calls to cufinufft.mw:155\n", mexprofrecord_[2]);
2361-
mexPrintf("%d calls to cufinufft.mw:156 (cufinufft.mw:159)\n", mexprofrecord_[3]);
2362-
mexPrintf("%d calls to cufinufft.mw:158\n", mexprofrecord_[4]);
2363-
mexPrintf("%d calls to cufinufft.mw:170\n", mexprofrecord_[6]);
2364-
mexPrintf("%d calls to cufinufft.mw:173\n", mexprofrecord_[7]);
2365-
mexPrintf("%d calls to cufinufft.mw:176\n", mexprofrecord_[8]);
2366-
mexPrintf("%d calls to cufinufft.mw:178\n", mexprofrecord_[9]);
2367-
mexPrintf("%d calls to cufinufft.mw:208\n", mexprofrecord_[10]);
2368-
mexPrintf("%d calls to cufinufft.mw:210\n", mexprofrecord_[11]);
2369-
mexPrintf("%d calls to cufinufft.mw:242\n", mexprofrecord_[12]);
2370-
mexPrintf("%d calls to cufinufft.mw:244\n", mexprofrecord_[13]);
2371-
mexPrintf("%d calls to cufinufft.mw:250\n", mexprofrecord_[14]);
2372-
mexPrintf("%d calls to cufinufft.mw:252\n", mexprofrecord_[15]);
2373-
mexPrintf("%d calls to cufinufft.mw:256\n", mexprofrecord_[16]);
2374-
mexPrintf("%d calls to cufinufft.mw:258\n", mexprofrecord_[17]);
2375-
mexPrintf("%d calls to cufinufft.mw:270\n", mexprofrecord_[18]);
2376-
mexPrintf("%d calls to cufinufft.mw:272\n", mexprofrecord_[19]);
2362+
mexPrintf("%d calls to cufinufft.mw:156\n", mexprofrecord_[1]);
2363+
mexPrintf("%d calls to cufinufft.mw:158\n", mexprofrecord_[2]);
2364+
mexPrintf("%d calls to cufinufft.mw:159 (cufinufft.mw:162)\n", mexprofrecord_[3]);
2365+
mexPrintf("%d calls to cufinufft.mw:161\n", mexprofrecord_[4]);
2366+
mexPrintf("%d calls to cufinufft.mw:173\n", mexprofrecord_[6]);
2367+
mexPrintf("%d calls to cufinufft.mw:176\n", mexprofrecord_[7]);
2368+
mexPrintf("%d calls to cufinufft.mw:179\n", mexprofrecord_[8]);
2369+
mexPrintf("%d calls to cufinufft.mw:181\n", mexprofrecord_[9]);
2370+
mexPrintf("%d calls to cufinufft.mw:211\n", mexprofrecord_[10]);
2371+
mexPrintf("%d calls to cufinufft.mw:213\n", mexprofrecord_[11]);
2372+
mexPrintf("%d calls to cufinufft.mw:245\n", mexprofrecord_[12]);
2373+
mexPrintf("%d calls to cufinufft.mw:247\n", mexprofrecord_[13]);
2374+
mexPrintf("%d calls to cufinufft.mw:253\n", mexprofrecord_[14]);
2375+
mexPrintf("%d calls to cufinufft.mw:255\n", mexprofrecord_[15]);
2376+
mexPrintf("%d calls to cufinufft.mw:259\n", mexprofrecord_[16]);
2377+
mexPrintf("%d calls to cufinufft.mw:261\n", mexprofrecord_[17]);
2378+
mexPrintf("%d calls to cufinufft.mw:273\n", mexprofrecord_[18]);
2379+
mexPrintf("%d calls to cufinufft.mw:275\n", mexprofrecord_[19]);
23772380
} else if (strcmp(id, "*profile log*") == 0) {
23782381
FILE* logfp;
23792382
if (nrhs != 2 || mxGetString(prhs[1], id, sizeof(id)) != 0)
@@ -2383,24 +2386,24 @@ void mexFunction(int nlhs, mxArray* plhs[],
23832386
mexErrMsgTxt("Cannot open log for output");
23842387
if (!mexprofrecord_)
23852388
fprintf(logfp, "Profiler inactive\n");
2386-
fprintf(logfp, "%d calls to cufinufft.mw:153\n", mexprofrecord_[1]);
2387-
fprintf(logfp, "%d calls to cufinufft.mw:155\n", mexprofrecord_[2]);
2388-
fprintf(logfp, "%d calls to cufinufft.mw:156 (cufinufft.mw:159)\n", mexprofrecord_[3]);
2389-
fprintf(logfp, "%d calls to cufinufft.mw:158\n", mexprofrecord_[4]);
2390-
fprintf(logfp, "%d calls to cufinufft.mw:170\n", mexprofrecord_[6]);
2391-
fprintf(logfp, "%d calls to cufinufft.mw:173\n", mexprofrecord_[7]);
2392-
fprintf(logfp, "%d calls to cufinufft.mw:176\n", mexprofrecord_[8]);
2393-
fprintf(logfp, "%d calls to cufinufft.mw:178\n", mexprofrecord_[9]);
2394-
fprintf(logfp, "%d calls to cufinufft.mw:208\n", mexprofrecord_[10]);
2395-
fprintf(logfp, "%d calls to cufinufft.mw:210\n", mexprofrecord_[11]);
2396-
fprintf(logfp, "%d calls to cufinufft.mw:242\n", mexprofrecord_[12]);
2397-
fprintf(logfp, "%d calls to cufinufft.mw:244\n", mexprofrecord_[13]);
2398-
fprintf(logfp, "%d calls to cufinufft.mw:250\n", mexprofrecord_[14]);
2399-
fprintf(logfp, "%d calls to cufinufft.mw:252\n", mexprofrecord_[15]);
2400-
fprintf(logfp, "%d calls to cufinufft.mw:256\n", mexprofrecord_[16]);
2401-
fprintf(logfp, "%d calls to cufinufft.mw:258\n", mexprofrecord_[17]);
2402-
fprintf(logfp, "%d calls to cufinufft.mw:270\n", mexprofrecord_[18]);
2403-
fprintf(logfp, "%d calls to cufinufft.mw:272\n", mexprofrecord_[19]);
2389+
fprintf(logfp, "%d calls to cufinufft.mw:156\n", mexprofrecord_[1]);
2390+
fprintf(logfp, "%d calls to cufinufft.mw:158\n", mexprofrecord_[2]);
2391+
fprintf(logfp, "%d calls to cufinufft.mw:159 (cufinufft.mw:162)\n", mexprofrecord_[3]);
2392+
fprintf(logfp, "%d calls to cufinufft.mw:161\n", mexprofrecord_[4]);
2393+
fprintf(logfp, "%d calls to cufinufft.mw:173\n", mexprofrecord_[6]);
2394+
fprintf(logfp, "%d calls to cufinufft.mw:176\n", mexprofrecord_[7]);
2395+
fprintf(logfp, "%d calls to cufinufft.mw:179\n", mexprofrecord_[8]);
2396+
fprintf(logfp, "%d calls to cufinufft.mw:181\n", mexprofrecord_[9]);
2397+
fprintf(logfp, "%d calls to cufinufft.mw:211\n", mexprofrecord_[10]);
2398+
fprintf(logfp, "%d calls to cufinufft.mw:213\n", mexprofrecord_[11]);
2399+
fprintf(logfp, "%d calls to cufinufft.mw:245\n", mexprofrecord_[12]);
2400+
fprintf(logfp, "%d calls to cufinufft.mw:247\n", mexprofrecord_[13]);
2401+
fprintf(logfp, "%d calls to cufinufft.mw:253\n", mexprofrecord_[14]);
2402+
fprintf(logfp, "%d calls to cufinufft.mw:255\n", mexprofrecord_[15]);
2403+
fprintf(logfp, "%d calls to cufinufft.mw:259\n", mexprofrecord_[16]);
2404+
fprintf(logfp, "%d calls to cufinufft.mw:261\n", mexprofrecord_[17]);
2405+
fprintf(logfp, "%d calls to cufinufft.mw:273\n", mexprofrecord_[18]);
2406+
fprintf(logfp, "%d calls to cufinufft.mw:275\n", mexprofrecord_[19]);
24042407
fclose(logfp);
24052408
} else
24062409
mexErrMsgTxt("Unknown identifier");

matlab/cufinufft.mw

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ $ }
9595
$ else if (strcmp(fname[ifield],"gpu_device_id") == 0) {
9696
$ oc->gpu_device_id = (int)round(*mxGetPr(mxGetFieldByNumber(om,idx,ifield)));
9797
$ }
98+
$ else if (strcmp(fname[ifield],"gpu_np") == 0) {
99+
$ oc->gpu_np = (int)round(*mxGetPr(mxGetFieldByNumber(om,idx,ifield)));
100+
$ }
98101
$ else
99102
$ continue;
100103
$ }

0 commit comments

Comments
 (0)