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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dqrest
2 / 2 / 0
Регистрация: 06.01.2012
Сообщений: 114
#1

Немогу выделить память на видухе для CUDA dll - C++

01.08.2013, 10:55. Просмотров 311. Ответов 0
Метки нет (Все метки)

Всем привет)
Есть 2 приложения, один на C#, а другой на C (dll). Приложение на C# вызывает функцию из dll. Написал простую dll, простая функция, типа сложить 2 числа (без CUDA) ввызвается в C# и работает, здесь все нормально. Но вот когда я пытаюсь выделить память на видухе, то прога ломается. Функция, реализованная в dll, работает нормально, я его сначала написал в виде приложения. Вот код

header файл libcuda.h
C++
1
extern "C" __declspec(dllexport) void func(int size);
cuda файл libcuda.cu
C
1
2
3
4
5
6
7
8
9
10
11
__declspec(dllexport) void func(int sizeQ)
{
   size_t size = sizeQ *sizeof(double);
   cudaError_t err = cudaSuccess;
  double *minLvl = NULL;
  err = cudaMalloc((void**)&minLvl, size);
  if(err != cudaSuccess)
  {
      printf("error");
  }   
}

C# приложение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.InteropServices;
 
namespace Core
{
   class Program
   {
        [DllImport("libcuda.dll")]
        static extern void func(int sizeQ);
        static void Main(string[] args)
        {
               func(5);
        }
 
   }
 
}
Добавлено через 1 минуту
Может кто-нить знает в чем дело? Плиз, помогите!

Добавлено через 18 часов 16 минут
Проблема решена! Нужно, чтобы все было в 32 bit!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2013, 10:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Немогу выделить память на видухе для CUDA dll (C++):

выделить память для массива*[] - C++
привет. чего-то не получается организовать работу массива char *c; это динамический массив строк длиной 10 при конструкторе ...

Как выделить память для класса - C++
Привет, я пишу библиотеку управления памятью. На данный момент я выделяю память вот так void * __cdecl MyAlloc(size_t size) { void *...

Выделить память для трёхмерного массива - C++
Пожалуйста помогите! нужно решить 4 задания, но у меня совершенно нет времени! срочно нужно ехать к девушке...надеюсь на ваше понимание и...

Как выделить память для динамического массива? - C++
Как выделить память для динамического массива? typedef TPrimitives *TPrimitive; //... TPrimitives Primitives; Мне нужно выделить...

Как выделить память для двухмерного массива? - C++
Как выделить память для двухмерного массива в С++ a=new int???

Как динамически выделить память для конструкторов класса? - C++
подскажите как динамически выделить память для конструкторов класса? class circle { double x,y,r; public: void...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2013, 10:55
Привет! Вот еще темы с ответами:

Как динамически выделить память для строкового массива? - C++
Собственно сам вопрос.

Выделить динамическую память для 2-х мерного массива из N-строк - C++
Помогите с задачей Задание: "Выделить динамическую память для 2-х мерного массива из N-строк след.вида:"

Как выделить динамически память для данных класса - C++
Как выделить динамически память для данных класса ? class circle { double x,y,r; public:void In(); void Out(); ...

Невозможно выделить память для массива постоянного нулевого размера - C++
unsigned const __int16 scrx = GetSystemMetrics(SM_CXSCREEN); char sstring; Что не так в этих двух строках? в scrx гарантированно...


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

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

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