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

Сделать так, чтобы при обращении к библиотеке необходимые константы загружались один раз в память карты - C++

Восстановить пароль Регистрация
 
Archi0
28 / 14 / 4
Регистрация: 18.07.2013
Сообщений: 164
06.05.2014, 06:53     Сделать так, чтобы при обращении к библиотеке необходимые константы загружались один раз в память карты #1
Оставил саму суть, удалив лишние строки кода.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
int* CUDAMALLOCDATA;
int* CUDAMALLOCREZ;
BOOL APIENTRY DllMain( HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
        {
            cudaError_t cudaStatus;
            cudaStatus = cudaSetDevice(0);
            CUDAMALLOCDATA= 0;
            CUDAMALLOCREZ=0;
            if (cudaStatus != cudaSuccess) {throw "";}
            cudaStatus = cudaMalloc((void**)&CUDAMALLOCDATA, 4789 * sizeof(unsigned __int16));
            if (cudaStatus != cudaSuccess) {cudaFree((void*)CUDAMALLOCDATA); throw "";}
            break;
        }
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        {
            cudaFree((void*)CUDAMALLOCDATA);
            //cudaFree(CUDAMALLOCREZ);  
            break;
        }
    }
    return TRUE;
}
На cudaMalloc виснет. С точки зрения компилятора 0 ошибок и 0 предупреждений. По нажатию паузы попадаешь в ntdll.dll. Я раньше не делал dll возможно что-то в ключах компилятора надо иначе указывать. Я менял cudart на shared. Идея была в том, чтобы при обращении к библиотеке необходимые константы загружались один раз в память карты и выгружались после выгрузки библиотеки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2014, 06:53     Сделать так, чтобы при обращении к библиотеке необходимые константы загружались один раз в память карты
Посмотрите здесь:

C++ Можно сделать так чтобы каждый раз не вводить матрицу?
Сделать так, чтобы при вводе отрицательного значения программа выводила errror C++
C++ сделать так, чтобы при разных значениях cin, выводились разные сообщения
Как сделать так чтобы при изменении одной переменной изменялась другая? C++
C++ Создание объекта класса, чтобы он постоянно висел в памяти, и чтобы память выделялась один раз
Преобразовать все слова массива так, чтобы каждый символ в слове повторялся один раз, сохранив общий порядок следования символов C++
C++ Сделать так, что бы при неверном значении программа сообщала об этом и запускала функцию второй раз
C++ Переставить в быстрой сортировке вывод результата так чтобы он выполнялся один раз

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 01:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru