Форум программистов, компьютерный форум, киберфорум
Наши страницы

OpenCL

Войти
Регистрация
Восстановить пароль
 
Colt_11
7 / 7 / 1
Регистрация: 18.01.2016
Сообщений: 83
#1

Глобальная переменная в OpenCL - OpenCL

10.03.2017, 23:13. Просмотров 488. Ответов 12
Метки нет (Все метки)

Всем привет!
Кто может подсказать как правильно создать глобальную переменную в OpenCL?
C++
1
2
3
4
unsigned char *globalVariable;
 
__kernel void foo()
{}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2017, 23:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Глобальная переменная в OpenCL (OpenCL):

OpenCL на С++ - OpenCL
Здравствуйте, уважаемые форумчани. Стоит задача написать знаменитую GameOfLife на С++ с использованием аппаратных средств видеокарты...

OpenCL на OS X - OpenCL
Ребят, помогите разобраться как начать работать с OpenCL на OS X? Не понимаю что и где надо скачать и поставить что бы начать работу.

Работа с OpenCL - OpenCL
Добрый вечер уважаемые форумчане, не мог бы кто нибудь помочь вводным курсом в opencl? Есть задача: сравнить скорость выпонения программы в...

Программа в OpenCL - OpenCL
Братцы, сроки поджимают и нужно закончить программульку одну. В общем, делал-делал и пришёл я к тупику на данном этапе... не знаю,...

Производительность OpenCL - OpenCL
Доброго времени! Написал тест для будущих расчётов с использованием OpenCL и проверил на разных системах: ( дрова для AMD 14.4; для...

OpenCL - ошибка 0xc0000005 - OpenCL
Есть прога и использованием OpenCL - модель солнечной системы Проблема одна - чем больше частиц, тем быстрее вылетает в разных частях...

12
nd2
2469 / 2058 / 719
Регистрация: 29.01.2016
Сообщений: 6,756
10.03.2017, 23:37 #2
Цитата Сообщение от Colt_11 Посмотреть сообщение
Кто может подсказать как правильно создать глобальную переменную в OpenCL?
Проблема в чём? Просто в создании или в правильном создании?
0
Colt_11
7 / 7 / 1
Регистрация: 18.01.2016
Сообщений: 83
10.03.2017, 23:40  [ТС] #3
просто в создании, с префиксом __global не создается, __constant тоже не подходит так как размер массива который надо будет загрузить слишком большой, сама переменная используется не в karnel функции, соответственно буфер тоже не подходит
0
nd2
2469 / 2058 / 719
Регистрация: 29.01.2016
Сообщений: 6,756
10.03.2017, 23:49 #4
Цитата Сообщение от Colt_11 Посмотреть сообщение
с префиксом __global не создается
Так и хочется спросить: а без префикса, что мешает создать? В какой среде делаешь? Какой тип проекта?
0
Colt_11
7 / 7 / 1
Регистрация: 18.01.2016
Сообщений: 83
10.03.2017, 23:53  [ТС] #5
бес префикса соответственно тоже не создается, да и не должна, переменные бес префикса это значит префикс __private
0
nd2
2469 / 2058 / 719
Регистрация: 29.01.2016
Сообщений: 6,756
10.03.2017, 23:55 #6
Цитата Сообщение от Colt_11 Посмотреть сообщение
бес префикса соответственно тоже не создается, да и не должна, переменные бес префикса это значит префикс __private
???
Цитата Сообщение от nd2 Посмотреть сообщение
В какой среде делаешь? Какой тип проекта?
0
Colt_11
7 / 7 / 1
Регистрация: 18.01.2016
Сообщений: 83
10.03.2017, 23:58  [ТС] #7
Цитата Сообщение от nd2 Посмотреть сообщение
Сообщение от nd2
В какой среде делаешь? Какой тип проекта?
Среда qt creator, про тип не понял
Цитата Сообщение от nd2 Посмотреть сообщение
Сообщение от Colt_11
бес префикса соответственно тоже не создается, да и не должна, переменные бес префикса это значит префикс __private
???
в opencl все переменные с префиксом, но у переменных __private префикс можно опустить
0
nd2
2469 / 2058 / 719
Регистрация: 29.01.2016
Сообщений: 6,756
11.03.2017, 00:02 #8
Цитата Сообщение от Colt_11 Посмотреть сообщение
про тип не понял
Проект какой-то создавал? Это С++? GLSL?
0
Colt_11
7 / 7 / 1
Регистрация: 18.01.2016
Сообщений: 83
11.03.2017, 00:04  [ТС] #9
Цитата Сообщение от nd2 Посмотреть сообщение
Это С++?
Да проект С++
0
nd2
2469 / 2058 / 719
Регистрация: 29.01.2016
Сообщений: 6,756
11.03.2017, 00:09 #10
Цитата Сообщение от Colt_11 Посмотреть сообщение
Да проект С++
Вот это всё - не С++:
Цитата Сообщение от Colt_11 Посмотреть сообщение
с префиксом __global не создается, __constant
Цитата Сообщение от Colt_11 Посмотреть сообщение
в opencl все переменные с префиксом, но у переменных __private префикс можно опустить
1
nd2
2469 / 2058 / 719
Регистрация: 29.01.2016
Сообщений: 6,756
13.03.2017, 01:31 #11
Цитата Сообщение от Colt_11 Посмотреть сообщение
сама переменная используется не в karnel функции, соответственно буфер тоже не подходит
То есть ты, в хосте, не можешь сделать вот так?
Цитата Сообщение от Colt_11 Посмотреть сообщение
C++
1
unsigned char *globalVariable;
0
Colt_11
7 / 7 / 1
Регистрация: 18.01.2016
Сообщений: 83
13.03.2017, 08:20  [ТС] #12
В ядре так не получается сделать, karnel функция которая запускается с хоста использует другую функцию в которой и должен использоваться массив
C++
1
2
3
4
5
6
7
8
9
unsigned char *globalVariable;
void deviceFoo()
{
globalVariable;
}
__kernel void foo()
{
    deviceFoo();
}
я могу сделать вот так, но выглядит не особо
C++
1
2
3
4
5
6
7
void deviceFoo(__global unsigned char* globalVariable)
{
}
__kernel void foo(__global unsigned char* globalVariable)
{
     deviceFoo(globalVariable);
}
0
Prok12
86 / 12 / 1
Регистрация: 08.11.2011
Сообщений: 86
10.06.2017, 09:45 #13
Внешних глобальных переменных для обмена между процедурами OpenCL не поддерживает. Не парьтесь. Только обмен через параметры процедур.
0
10.06.2017, 09:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2017, 09:45
Привет! Вот еще темы с ответами:

OpenCL в Builder и не только - OpenCL
Все добрый день! На данный момент встала проблема анализа огромного массива данных, времени неделя, а скорость обработки очень мала......

Opencl в go ? Существуют ли решения ? - OpenCL
Есть задача перевести вычисления Scrypt, sha256 , pbkdf2 на opencl для ускорения. Существуют ли решения для этого? Или же opencl не...

видеокарта openCL / cuda - OpenCL
Хочу научиться программировать с использованием gpu. Что по-вашему на данный момент и в будущем будет более перспективно и востребовано,...

Границы поверхностей OpenCL - OpenCL
Необходимо определить границы поверхностей по изображению, как это можно сделать в OpenCV?


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru