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

OpenCL

Войти
Регистрация
Восстановить пароль
 
jenokizm
19 / 35 / 10
Регистрация: 27.03.2014
Сообщений: 754
#1

Переносимость и зависимости - OpenCL

08.01.2018, 14:28. Просмотров 215. Ответов 3
Метки нет (Все метки)

Допустим я в студии собираю прогу. При запуске релиза из студии она выполняется корректно. Но когда я пытаюсь вручную запустить тотже exe получаю ошибку:
Failed to load kernel.
Что ей нужно?

Добавлено через 10 минут
Аа я все понял. Он не видит относительный путь к файлу .cl
А что обязательно теперь на другие компы вместе с exe таскать.cl ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2018, 14:28
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Переносимость и зависимости (OpenCL):

Переносимость - Turbo Pascal
Перенёс код базы данных из ABC в турбо паскаль и выводит ошибку помогите разобраться. program Rek; uses crt; type BASE...

Переносимость - Assembler
На сколько я знаю процессоры разных производителей по разному располагают байты в словах, с лева на права и с права на лева (это...

Переносимость - Java БД
Здравствуйте, подскажите как быть! БД MySql, стоит WAMP через phpmyadmin запускаю серв, и после этого можно подключаться к БД, как...

Переносимость - Assembler
Здараствуйте Вообще не имею представления об Ассмемблере, просто интересует пара вопросов. Будет ли работать то что я напишу и...

переносимость БД - C++ Builder БД
Как сделать так, чтобы программа с БД в DatabaseDesktop запускалась и на других компах

Переносимость - C++
Всем доброе время суток! Мне нужно написать программу, которая будет запускаться на любой ОС. как это можно реализовать? Я думаю ее...

3
Prok12
88 / 14 / 1
Регистрация: 08.11.2011
Сообщений: 91
08.01.2018, 14:40 #2
У вас в студии код для Kernel в виде отдельного текстового файла? Возможно, exe-шник при запуске вне студии не может найти этот текстовый файл, а ему надо отправить этот файл на компиляцию драйверу видеокарты.
Все *.cl или *.cpp, в которых код для OpenCL, должны лежать рядом с *.exe, независимо от того, в студии вы пишете на плюсах, или на другом языке.

Добавлено через 11 минут
Не знаю, как в VS, но в др. языках можно текст Kernel подгружать не из внешнего файла, а из строковой переменной (точнее, константы) внутри кода на хосте. Тогда после компиляции в *.exe этот текст окажется там же внутри, и таскать его с собой не надо будет. Мне так удобнее держать 2 десятка файлов-Kernel прямо в текстовом формате рядом с готовым EXE
1
jenokizm
19 / 35 / 10
Регистрация: 27.03.2014
Сообщений: 754
08.01.2018, 16:58  [ТС] #3
Prok12, да в отдельном файле, так рекомендуют все мануалы) и удобнее. Нучтоже тогда прийдется таскать. одно странно файлов .cl у меня 4 штуки, а exe просил только один главные и отработал. мистика непонятно откуда он тогда нашел код в зависимых файлах от главного...
0
Prok12
88 / 14 / 1
Регистрация: 08.11.2011
Сообщений: 91
08.01.2018, 19:56 #4
Тогда придётся таскать все коды в виде текстовых файлов с собой. Дело в том, что каждая видеокарта компилирует их по-своему в свой родной бинарник. Поэтому что-то вроде общего универсального EXE "всё-включено" не получится по-любому.
Есть в этом и плюсы. Перед запуском этих текст. файлов на компиляцию можно программно внести в них последнюю правку, например, задать нужные размеры небольших внутренних массивов в Kernel. Ведь динамического выделения памяти в OpenCL 1.2 нет (только у 2.1, вроде бы есть), а тут таким дедовским способом можно обойти это ограничение.
Это всё мелочи (4 файла с собой взять - ерунда), по сравнению с переносимостью просто кода из VS на другой комп. Я про кучу невидимых DLL, которые зачастую попадают от какой-то старой версии. А специальный Portable Package не всегда удаётся поставить... Или вон - люди Java-машину весом до 300Мб иногда с собой таскают... И ничего!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2018, 19:56
Привет! Вот еще темы с ответами:

Переносимость программы - C++ Linux
Есть программа, которая использует библиотеку libmysqlclient.so (и еще несколько других). Компилирую у себя на компьютере. Переношу на...

модули.переносимость - C++
модуль в языке СИ? не могу нигде ничего найти про них.может кто-нибудь подскажет в каком учебнике искать или напишет что ЭТО??? и ещё...

Переносимость приложения - Java
Вот есть у меня программа на джаве - кучка скомпилированных классов (.class), а главный - start.class. Запускаю я их через cmd: cd...

Переносимость программ - C++ Qt
Здравствуйте. Положил в папку с *.exe требуемые DLL. На той машине на которой собирался проект - запускается, однако на других нет. Выдает...


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

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

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