Форум программистов, компьютерный форум, киберфорум
OpenCL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
OpenCL OpenCL 1.2 -- прибавляю 1, получаю 24.000 и 0.008. Прибавляю 2 получаю 384.00 и 2.000. Что я делаю не так? На вход в массиве input подаются float в которых либо 0.00 либо 1.00. Если программа делает: output = input; то, все значения из input правильно переносятся в output и там где были ноли, остаются ноли, а там где единички -- единички. Но если я вдруг, пытаюсь что-то делать со значениями из input, то начинается очень странное. Вот код, OpenCL: __kernel void test_kernel ( __global... https://www.cyberforum.ru/ opencl/ thread2615820.html OpenCL Как исправить ошибку подключения OpenCL
Дано: NetBeans IDE Windows Тулкит от NVidia последней версии #include "CL/cl.h" подключено, компилятор её видит При вводе тестового cl_platform_id _platform_id; cl_uint _ret_num_platform;
OpenCL Как сделать данный текст и еще с поворотамм ? Падающий текст. Из текстового файла читаются символы, которые «сыплются» с правого верхнего угла экрана. Начальная скорость варьируется в некоторых пределах. Символы «отскакивают» от нижнего края экрана (неупругое соударение). https://www.cyberforum.ru/ opencl/ thread2555588.html OpenCL Транспонирование матрицы https://www.cyberforum.ru/ opencl/ thread2555367.html
Здравствуйте! Подскажите, пожалуйста, что не так с ядром? Считает правильно 3 столбца, после этого идут -1, 0, и т.д. Не понимаю, что делаю не так. Впервые взялась за OpenCl __kernel void transpose( __global float *pfOData, __global float *pfIData, int nWidth, int nHeight) { __local float pfBlock; unsigned int uXIndex = get_global_id(0);
OpenCL Как изменять число потоков?
Добрый день! Только начинаю изучать OpenCL, поэтому не бросайтесь тапками за глупые вопросы. Суть дела в том, что мне надо обрабатывать изображения, скажем, размером 1024 x 768, при этом нужно взять следующие значения числа потоков: 2, 4, 6, 8, 10, 12, 16. Как и где я могу в коде задать число потоков?
OpenCL Управление программой ядра Добрый день, просветите вкратце по нескольким вопросам использования Cloo.dll на C#. Если я хочу зациклить на постоянку выполнение программы ядра, ну скажем примерно так kernel void CalcData(global read_only int* a) { FlagCalc = a; while (FlagCalc == 1) { //............ вычисляю что надо } https://www.cyberforum.ru/ opencl/ thread2409174.html
OpenCL Atomic min для float переменных https://www.cyberforum.ru/ opencl/ thread2353473.html
у меня краткий вопрос как можно использовать atomic_min для float переменых.
OpenCL Перехват инструкций из популярных видеоредакторов поддерживающих opencl
Здравствуйте уважаемые форумчане. Имеется задача распараллеливать на компьютерах в сети рендеринг видео из популярных видеоредакторов (adobe premiere, after effects, sony vegas и прочих.) На сколько я знаю они поддерживают ускорение вычислений с помощью видеокарт посредством opencl и cuda. Как Вы думаете, возможно ли создать программу которая перехватывала бы часть заданий отправляемых на...
OpenCL Как установить дрова OpenCL ? https://www.cyberforum.ru/ opencl/ thread2278055.html
Всем привет! Подскажите, как установить OpenCL (Windows 10 x64 / Intel Core i5)? Откуда скачать драйвер для запуска прог, использующих OpenCL? Гуглю, находится сайт https://software.intel.com/en-us/articles/opencl-drivers Там есть ссылки "Intel® Processor Graphics" (видеокарта у меня интегрированная Intel HD Graphics 3000 (Gen6) и "Intel® Xeon™ Processor or Intel® Core™ Processor" Тыкаю на...
OpenCL Двумерные массивы https://www.cyberforum.ru/ opencl/ thread2270667.html
Добрый день! У меня есть двухмерный массив, не могу понять, как использовать в OpenCL. Суть такова - передаю двумерный массив, видеокарта его обсчитывает один раз. Как решить такую задачу, спасибо!
OpenCL Изобразить на экране прямую, которая вращается около одной из своих точек
Изобразить на экране прямую, которая вращается около одной из своих точек.
OpenCL Работа с бинарными файлами Здравствуйте! Работаю с OpenCL. Возникла такая проблема. Программа открывает бинарный фаил считывает его обрабатывает но результат обработки не записывает в текстовый фаил. Раньше когда программе не нужно было работать с информацией из вне а все данные создавались внутри программы она сохраняла результат работы в текстовый фаил. Для этого использовалась процедура void SaveArray. Сейчас при... https://www.cyberforum.ru/ opencl/ thread2211336.html
0 / 0 / 0
Регистрация: 04.05.2020
Сообщений: 4
0

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

04.05.2020, 21:22. Показов 2074. Ответов 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)?
Может быть кто-то сталкивался? В каком направлении смотреть?

Вернуться к обсуждению:
OpenCL - аномально большое использование памяти приложения OpenCL
0
Заказать работу у эксперта
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.05.2020, 21:22
Готовые ответы и решения:

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

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

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

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

1
04.05.2020, 21:22
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.05.2020, 21:22
Помогаю со студенческими работами здесь

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

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

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

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

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

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

0
Новые блоги и статьи
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
В чем разница между px, in, mm, pt, dip, dp, sp
InfoMaster 20.01.2025
В мире цифрового дизайна и разработки интерфейсов правильный выбор единиц измерения играет ключевую роль в создании качественного пользовательского опыта. История развития систем измерений для. . .
Как изменить адрес удалённого репозитория (origin) в Git
InfoMaster 20.01.2025
В терминологии Git термин origin является стандартным именем для основного удаленного репозитория, с которым взаимодействует локальная копия проекта. Когда разработчик клонирует репозиторий с. . .
Как переместить последние коммиты в новую ветку (branch) в Git
InfoMaster 20.01.2025
При работе над проектом часто возникают ситуации, когда необходимо изолировать определенные изменения от основной линии разработки. Это может быть связано с экспериментальными функциями, исправлением. . .
Как вернуть результат из асинхронной функции в JavaScript
InfoMaster 20.01.2025
Асинхронное программирование представляет собой фундаментальную концепцию в JavaScript, которая позволяет выполнять длительные операции без блокировки основного потока выполнения программы. В. . .
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетов началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые прототипы,. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
Как без исключения проверить существование файла в Python
InfoMaster 19.01.2025
При разработке программного обеспечения на Python часто возникает необходимость проверить существование файла перед выполнением операций с ним. Это критически важная задача, которая помогает избежать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru