Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Технологии программирования > Программирование графики
Перезагрузить страницу Cuda + Dll
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
†Strannik† †Strannik† вне форума
Странник всея Руси!
 
Аватар для †Strannik†
 
Сообщений: 99
Сказал(а) спасибо: 1
Поблагодарили 2 раз(а) в 2 сообщениях
Регистрация: 09.11.2007
По умолчанию Cuda + Dll - 05.09.2011, 21:20

в общем начал знакомство с технологией CUDA, вещь хорошая, захотел запихнуть все в dll.
Нашел статейку
Using CUDA and Thrust with Visual Studio 2010 | #2782 - Thinking about agile (small 'a') software development, patterns and practices for building Microsoft .NET applications.
Сделал как там написано, библиотека слинковалась...

при попытке доступа получаю

Цитата:
"pptt.exe" (Управляемый (v4.0.30319)): Загружен "C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib \v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll"
"pptt.exe" (Управляемый (v4.0.30319)): Загружен "C:\pr\pptt\Debug\pptt.exe", Cимволы загружены.
"pptt.exe" (Управляемый (v4.0.30319)): Загружен "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System .Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\Syst em.Windows.Forms.dll"
"pptt.exe" (Управляемый (v4.0.30319)): Загружен "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System .Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Dra wing.dll"
"pptt.exe" (Управляемый (v4.0.30319)): Загружен "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System \v4.0_4.0.0.0__b77a5c561934e089\System.dll"
Шаг с заходом: обход метода без символов "System.GC.ClearCache.add"
Шаг с заходом: обход метода без символов "System.Reflection.RuntimeAssembly.Cache.get"
Шаг с заходом: обход метода без символов "System.Reflection.RuntimeAssembly.FullName.ge t"
Шаг с заходом: обход метода без символов "System.Resources.ResourceManager.ResourceMana ger"
Шаг с заходом: обход метода без символов "System.Environment.ResourceHelper.GetResourceStri ngCode"
"pptt.exe" (Управляемый (v4.0.30319)): Загружен "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\mscorl ib.resources\v4.0_4.0.0.0_ru_b77a5c561934e089\msco rlib.resources.dll"
Шаг с заходом: обход метода без символов "System.Environment.ResourceHelper.GetResourceStri ng"
Шаг с заходом: обход метода без символов "System.AccessViolationException.AccessViolationEx ception"
Первый этап обработки исключения типа "System.AccessViolationException" в приложении System.Windows.Forms.dll
Необработанное исключение типа "System.AccessViolationException" произошло в System.Windows.Forms.dll

Дополнительные сведения: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.

Программа "[6012] pptt.exe: Управляемый (v4.0.30319)" завершилась с кодом 0 (0x0).

файл .cu
cpp Код:
//#include "cutil_inline.h"
#include <windows.h>
#include "Hello.h"
#include "cuda_runtime_api.h"
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <stdio.h>



__global__  void MyCUDA(int a, int b, int *c)
{
*c=a+b;
}


extern "C" _declspec(dllexport)int Summ (int a, int b){

int c;
int *dev_c;
cudaMalloc((void**)&dev_c,sizeof(int));

cudaMemcpy(dev_c,&c,sizeof(int),cudaMemcpyHostToDevice);

MyCUDA<<<1,1>>>(a,b,dev_c);

cudaMemcpy(&c,dev_c,sizeof(int),cudaMemcpyDeviceToHost);
cudaFree(dev_c);
return c;
}

вызов:
cpp Код:
...
        typedef int(*functionDll)( int,int);
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {

            HINSTANCE   hDllInstance = LoadLibraryEx( L"C:\\pr\\HelloWorld\\Debug\\HelloWorldCuda.dll", 0, DONT_RESOLVE_DLL_REFERENCES );
        functionDll fpFunction = (functionDll)GetProcAddress(hDllInstance,"Summ");
float n ;
//CString str;
        if (fpFunction)

    n = fpFunction( 1,2 );
...

ругается на помять, видимо я где-то что-то не совсем правильно делаю.... или может вообще не правильно... кто-нить сталкивался с подобной проблемой/задачей?
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CUDA задание на матрицы muted Visual C++ 1 16.01.2012 23:45
Преподаватель CUDA на английском языке parallel-com Работа 0 25.04.2011 16:05
AMD борется с CUDA DarkStrom Процессоры 1 15.11.2008 14:53



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов