С Новым годом! Форум программистов, компьютерный форум, киберфорум
OpenCL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 04.05.2020
Сообщений: 4
1

OpenCL - аномально большое использование памяти приложения

04.05.2020, 21:22. Показов 2073. Ответов 1

Author24 — интернет-сервис помощи студентам
Добрый день!

Есть программа с некоторым количеством kernel (около 30), которые оперируют общими данными (буферами) и вызываются в определенной последовательности в цикле большое количество раз (например, 100000). Объем передаваемых данных на видеокарту десятки мегабайт, но выделение памяти приложения достигает нескольких ГБ (и по диспетчеру задач, и по использованию памяти в VS).

Алгоритм такой:
- инициализация opencl (device, context, queue, programm)
- загрузка исходных данных в RAM
- выделение большого количества буферов под промежуточные данные cl_mem Xi = clCreateBuffer(...
- перегрузка исходных данных из RAM в буфер сlEnqueueWriteBuffer(...
- обозначение kernel - cl_kernel k_i = clCreateKernel(...
- установка аргументов для каждой kernel - clSetKernelArg(...
- обозначение размеров global и local для каждой kernel
- запуск цикла с последовательностью исполняемых kenel c помощью clEnqueueNDRangeKernel(...

Всё считает. Получается ожидаемый результат. Быстро считает, но при многократном повторении цикла - использование памяти растёт аномально / непропорционально объему обрабатываемых данных.

Пробовал различные clRelease... (..MemObj, ..Kernel и т.д.), в т.ч. пробовал чтобы полностью программа входила в цикл (т.е. с перегрузкой и перекоплиляцией cl-кода). Всё равно, а память... растёт! Причем только память приложения. На GPU все те же 10-ки мегабайт.

Ранее программа была на C++ AMP и такого выделения памяти не было.

Что в приложении С++ для OpenCL может так сильно есть память (RAM)?
Может быть кто-то сталкивался? В каком направлении смотреть?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2020, 21:22
Ответы с готовыми решениями:

Большое использование физической памяти
Установил программу "Advanced SystemCare 8.0 Pro" и после перезагрузки компьютера после выполнения...

Слишком большое использование оперативной памяти
Что это может быть?

Большое потребление памяти приложением
Здравствуйте! Как всегда нужна ваша помощь... Почему происходит ошибка компиляции при увеличении...

Большое употребление памяти динамикой
Привет! Проблема заключается в динамических компонентах. Динамически создается вкладка (TabSheet)...

1
0 / 0 / 0
Регистрация: 04.05.2020
Сообщений: 4
10.05.2020, 13:36  [ТС] 2
Ну может хоть предположения есть у кого?

Добавлено через 26 минут
Решено!
Может кому-то пригодится. Проблемы была в &event при вызове clEnqueueNDRangeKernel

clEnqueueNDRangeKernel(queue, kernel, 2, NULL, Global, Local, 0, NULL, &event); // так растет - заполняет память событиями

clEnqueueNDRangeKernel(queue, kernel, 2, NULL, Global, Local, 0, NULL, NULL); // так не растет
0
10.05.2020, 13:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2020, 13:36
Помогаю со студенческими работами здесь

Слишком большое выделение оперативной памяти!
Искал в гугле,но конкретно с такой же проблемой не столкнулся!!!Во время обычной работы за...

Большое потребление памяти при вызове метода
Наблюдаю очень странное поведение Visual Studio 2008. В моём проекте на C# есть один метод, который...

Разместить большое число в двух ячейках памяти
Ребят,добрый день. К сути: у меня есть 10 чисел,надо найти их произведение. Числа вводятся в ячейки...

Большое потребление оперативной памяти при долгой работе
Добрый день гуру программирования. Проблема у меня такая. Приложение потребляет слишком много...

Слишком большое потребление оперативной памяти в простом приложении
Привет. Это простое приложение чтобы делать скриншоты. Скажите почему оно занимает слишком много...

nginx+php-fpm debian - большое потребление памяти
Больше потребление cached памяти на сервере. (Графиг приложен). mysql, memcached вынесены на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru