Skip to content

Commit 7762e14

Browse files
committed
fix pointer arithmetic for large input/output sizes
1 parent cd13dea commit 7762e14

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

lib/THNN/generic/VolumetricConvolutionMM.c

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -109,22 +109,22 @@ static void THNN_(unfolded_acc_vol)(
109109
int pT,
110110
int pW,
111111
int pH,
112-
int nInputPlane,
113-
int inputDepth,
114-
int inputWidth,
115-
int inputHeight,
116-
int outputDepth,
117-
int outputWidth,
118-
int outputHeight)
112+
long nInputPlane,
113+
long inputDepth,
114+
long inputWidth,
115+
long inputHeight,
116+
long outputDepth,
117+
long outputWidth,
118+
long outputHeight)
119119
{
120-
int nip;
120+
long nip;
121121
real *input_data = THTensor_(data)(input);
122122
real *finput_data = THTensor_(data)(finput);
123123

124124
//#pragma omp parallel for private(nip)
125125
for (nip = 0; nip < nInputPlane; nip++)
126126
{
127-
int kt, kw, kh, t, y, x, it, ix, iy;
127+
long kt, kw, kh, t, y, x, it, ix, iy;
128128
for (kt = 0; kt < kT; kt++)
129129
{
130130
for (kh = 0; kh < kH; kh++)
@@ -196,27 +196,27 @@ static void THNN_(unfolded_copy_vol)(
196196
int pT,
197197
int pW,
198198
int pH,
199-
int nInputPlane,
200-
int inputDepth,
201-
int inputWidth,
202-
int inputHeight,
203-
int outputDepth,
204-
int outputWidth,
205-
int outputHeight)
199+
long nInputPlane,
200+
long inputDepth,
201+
long inputWidth,
202+
long inputHeight,
203+
long outputDepth,
204+
long outputWidth,
205+
long outputHeight)
206206
{
207207
long k;
208208
real *input_data = THTensor_(data)(input);
209209
real *finput_data = THTensor_(data)(finput);
210210
// #pragma omp parallel for private(k)
211211
for (k = 0; k < nInputPlane*kT*kH*kW; k++)
212212
{
213-
int nip = k / (kT*kH*kW);
214-
int rest = k % (kT*kH*kW);
215-
int kt = rest / (kH*kW);
213+
long nip = k / (kT*kH*kW);
214+
long rest = k % (kT*kH*kW);
215+
long kt = rest / (kH*kW);
216216
rest = rest % (kH*kW);
217-
int kh = rest / kW;
218-
int kw = rest % kW;
219-
int t,x,y,it,ix,iy;
217+
long kh = rest / kW;
218+
long kw = rest % kW;
219+
long t,x,y,it,ix,iy;
220220
real *dst = finput_data
221221
+ nip * (kT*kH*kW*outputDepth*outputHeight*outputWidth)
222222
+ kt * (kH*kW*outputDepth*outputHeight*outputWidth)

0 commit comments

Comments
 (0)