#c #c #netbeans #cuda #nsight
#c #c #netbeans #cuda #nsight
Вопрос:
Ниже приведен написанный код, который я выполняю в nsight eclipse
и Netbeans
. Я получаю другой размер выделения памяти. Я не могу понять, почему это происходит. Если у кого-нибудь есть какие-либо подсказки, пожалуйста, помогите.
int main()
{
cuComplex *a,*b;
float *c;
double mfree,mtotal;
size_t mem1,mem2;
int Size = 8192;
cudaMalloc((void**)amp;a,sizeof(cuComplex)*Size*Size);
cudaMalloc((void**)amp;b,sizeof(cuComplex)*Size*Size);
cudaMalloc((void**)amp;c,sizeof(float)*Size*Size);
cudaMemGetInfo(amp;mem1,amp;mem2);
mfree = (double)mem1/1024*1024;
mtotal = (double)mem2/1024*1024;
printf("Total memory = %f and Free Memory = %f",mtotal,mfree);
}
Ниже приведены выходные данные для обеих платформ
Вывод в Nsight Eclipse
Total memory = 2001.8125 and Free Memory = 105.625
Вывод в Netbeans
Total memory = 2001.8125 and Free Memory = 572.125
Комментарии:
1. Каков статус до / без cudaMallocs? В настоящее время размер выделяемой памяти не отображается.
2. @DanM. Я проверил память перед выделением, кажется, что nsight изначально резервирует около 615 МБ, в то время как Netbeans резервирует только 200 МБ… Как я могу управлять предварительным распределением
3. Я не уверен, что вы можете. Память является общей для всех программ, использующих графический процессор. Аналогично оперативной памяти. Вы можете уменьшить использование, только закрыв ненужные программы. Также может быть возможно, в зависимости от ваших настроек, полностью запускать интегрированный графический процессор и использовать графический процессор nvidia исключительно в качестве ускорителя, но как это сделать — это совершенно другой вопрос.
4. Чтобы добавить к тому, что говорит Дэн, это также произойдет, если вы откроете Youtube в Chrome перед запуском эксперимента seconds, если вы также используете графический процессор для графики (обычная настройка). Другое программное обеспечение использует графический процессор.
5. @VikasSingh Все указывает на то, что да, он резервирует этот объем для себя. У меня сейчас нет этого под рукой, позже я мог бы проверить, сколько это занимает на моей машине.