Доброго времени суток!
Срочно требуется помощь. Пишу дипломную. Резко пришлось менять тему. Дали работу с OpenCL.
C SDK разобраться не хватает мозгу, нервов и времени. В общем, вопрос-просьба, думаю, что элементарный: каким образом задавать, подключать и использовать свой kernel? Как передавать в него входные параметры и соответственно их получать.
Если можно, очень прошу код на C++.
Общая задача такова - оконное приложение .Net 4.0, на определенном этапе есть 3 входящих массива.
1-й - Набор индексов, по которым "вытаскиваются" элементы из 2-го и 3-го и с ними производятся мат. операции. Собственно, обычный код выглядит так:
- array^ a = gcnew array(768);//На входе
- array^ b = gcnew array(256);//На входе
- array^ aConst = gcnew array(cCount);//На входе
- double chisl = 0;
- double znam = 0;
- array^ res = gcnew array(iPicBytes);//На выход
- array^>^ pp = gcnew array^>(cCount);
- //iLength - колич-во обр. эл-тов, на входе
- //cCount - необходимая размерная единица, на входе
- for (int l=0;l 0)
- {
- res[l] = double(chisl/znam);
- }
- else
- {
- if (iSumPic > 0)
- res[l] = -1;
- else
- res[l] = 0;
- }
И вот это все мне надо перегнать OpenCL и распараллелить. ПОМОГИТЕ, ПОЖАЛУЙСТА!