Срочно нужна помомщь!

Доброго времени суток!
Срочно требуется помощь. Пишу дипломную. Резко пришлось менять тему. Дали работу с OpenCL.
C SDK разобраться не хватает мозгу, нервов и времени. В общем, вопрос-просьба, думаю, что элементарный: каким образом задавать, подключать и использовать свой kernel? Как передавать в него входные параметры и соответственно их получать.
Если можно, очень прошу код на C++.
Общая задача такова - оконное приложение .Net 4.0, на определенном этапе есть 3 входящих массива.
1-й - Набор индексов, по которым "вытаскиваются" элементы из 2-го и 3-го и с ними производятся мат. операции. Собственно, обычный код выглядит так:

  1. array^ a = gcnew array(768);//На входе
  2. array^ b = gcnew array(256);//На входе
  3. array^ aConst = gcnew array(cCount);//На входе
  4. double chisl = 0;
  5. double znam = 0;
  6.  
  7. array^ res = gcnew array(iPicBytes);//На выход
  8. array^>^ pp = gcnew array^>(cCount);
  9. //iLength - колич-во обр. эл-тов, на входе
  10. //cCount - необходимая размерная единица, на входе
  11.  
  12. for (int l=0;l 0)
  13. {
  14. res[l] = double(chisl/znam);
  15. }
  16. else
  17. {
  18. if (iSumPic > 0)
  19. res[l] = -1;
  20. else
  21. res[l] = 0;
  22. }

И вот это все мне надо перегнать OpenCL и распараллелить. ПОМОГИТЕ, ПОЖАЛУЙСТА!

Forums: