调整了显存限制

pull/10/head
陈增辉 2025-04-11 10:57:49 +08:00
parent adf53a1464
commit 609e140bd9
2 changed files with 8 additions and 9 deletions

View File

@ -65,9 +65,9 @@ __global__ void processPulseKernel(
) { ) {
// //
long long idx = blockIdx.x * blockDim.x + threadIdx.x; int64_t idx = int64_t(blockIdx.x) * int64_t(blockDim.x) + int64_t(threadIdx.x);
long long pixelcount = nx * ny; int64_t pixelcount = int64_t(nx) * int64_t(ny);
if (idx >= pixelcount) return; if (idx >= pixelcount) { return; }
//printf("processPulseKernel start!!\n"); //printf("processPulseKernel start!!\n");
@ -170,12 +170,11 @@ void bpBasic0CUDA(GPUDATA& data, int flag,double* h_R) {
// ͼÏñÖØ½¨ // ͼÏñÖØ½¨
double r_start = data.r_vec[0]; double r_start = data.r_vec[0];
double dr = (data.r_vec[data.Nfft - 1] - r_start) / (data.Nfft - 1); double dr = (data.r_vec[data.Nfft - 1] - r_start) / (data.Nfft - 1);
printfinfo("dr = %f\n",dr); printfinfo("dr = %f\n",dr);
long pixelcount = data.nx* data.ny; int64_t pixelcount = int64_t(data.nx)* int64_t(data.ny);
long grid_size = (pixelcount + BLOCK_SIZE - 1) / BLOCK_SIZE; int64_t grid_size = (pixelcount + BLOCK_SIZE - 1) / BLOCK_SIZE;
printfinfo("grid finished!!\n"); printfinfo("grid finished!!\n");
//double* d_R = (double*)mallocCUDADevice(sizeof(double) * data.nx * data.ny); //double* d_R = (double*)mallocCUDADevice(sizeof(double) * data.nx * data.ny);

View File

@ -119,7 +119,7 @@ ErrorCode TBPImageAlgCls::ProcessGPU()
size_t img_rowCont = L1ds->getrowCount(); size_t img_rowCont = L1ds->getrowCount();
size_t img_colCont = L1ds->getcolCount(); size_t img_colCont = L1ds->getcolCount();
size_t block_imgRowCount = Memory1GB / img_colCont / 8 / 3 * 1;// 4GB-- 可以分配内存 size_t block_imgRowCount = Memory1GB / img_colCont / 8 / 3 * 12;// 4GB-- 可以分配内存
gdalImage demgridimg(imgXYZPath); gdalImage demgridimg(imgXYZPath);
gdalImageComplex im_finalds(outimgDataPath); gdalImageComplex im_finalds(outimgDataPath);
@ -310,7 +310,7 @@ void TBPImageAlgCls::EchoFreqToTime()
gdalImageComplex outTimeEchoImg = CreategdalImageComplexNoProj(this->TimeEchoDataPath, this->TimeEchoRowCount, this->TimeEchoColCount, 1); gdalImageComplex outTimeEchoImg = CreategdalImageComplexNoProj(this->TimeEchoDataPath, this->TimeEchoRowCount, this->TimeEchoColCount, 1);
// 分块 // 分块
long echoBlockline = Memory1GB / 8 / 2 / outColCount * 3; //1GB long echoBlockline = Memory1GB / 8 / 2 / outColCount *2; //1GB
echoBlockline = echoBlockline < 1 ? 1 : echoBlockline; echoBlockline = echoBlockline < 1 ? 1 : echoBlockline;