Распределение памяти устройства отличается в nsight Eclipse и netbeans

#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 Все указывает на то, что да, он резервирует этот объем для себя. У меня сейчас нет этого под рукой, позже я мог бы проверить, сколько это занимает на моей машине.