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

Реализация скалярного произведения двух векторов с оптиммизацией на CUDA - CUDA

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разработка под PSP http://www.cyberforum.ru/cpp/thread1307645.html
Народ, есть у кого компилятор под PSP (*.PBP)? "C"-подобного языка... Нужно хотя бы выводить на нее консоль типа "CMD".
C++ Открыть и закрыть файл exe через определенное время Извините за тупой вопрос. Мне нужно просто открыть экзешник и со временем,например 5 секунд,чтобы сам просто закрылся. То есть просто открыть файл подождать закрыть. Если ли такая функция, типо... http://www.cyberforum.ru/cpp/thread1307108.html
Правильная стройка классов C++
Здравствуйте! Пытаюсь реализовать MVC на С++. Застрял на начальном этапе - создание M, V, C. Вот структура проекта: Листинг: Model.h #pragma once
Возможно ли с помощью EGit в Eclipse добавить в репозиторий внешние библиотеки? C++
Завёл себе репозиторий на bitbucket' e. С помощью плагина для eclipse залил туда код, но внешние библиотеки туда не попали. Можно ли всё - таки их туда тоже добавить?
C++ Декодирование файла QP http://www.cyberforum.ru/cpp/thread1304142.html
Помогите с программой хотя бы чем то)) есть файл в котором записан Quoted-printable код.нужно декодировать с того файла бинарный изначальный файл и открыть его для просмотра.декодирована файла имя...
C++ Как из обычного изображения сделать негативное? Я так понял изображение нужно разбить на пиксели и изменить их от 0 до 255. Помогите с лабой??? подробнее

Показать сообщение отдельно
aspire77
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 12
02.12.2014, 23:55  [ТС]
помагите доделать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// процедура вычисления скалярного умножения на видеокарте, возвращает массив по количеству блоков с суммой внутри блока 
__global__ void dot( float *a, float *b, float *c ) { 
    __shared__ float cache[threadsPerBlock]; 
    int tid = threadIdx.x + blockIdx.x * blockDim.x; 
    int cacheIndex = threadIdx.x; 
    float temp = 0; 
    while (tid < N) { 
        temp += a[tid] * b[tid]; 
        tid += blockDim.x * gridDim.x; 
    } 
    // сохраняем в кеш 
    cache[cacheIndex] = temp; 
    // ждем выполнения вычислений на всех нитях данного блока 
    __syncthreads(); 
    // редукция /2 
    int i = blockDim.x / 2; 
    while (i != 0) { 
        if (cacheIndex < i) cache[cacheIndex] += cache[cacheIndex + i]; 
        __syncthreads(); 
        i /= 2; 
    } 
    if (cacheIndex == 0) c[blockIdx.x] = cache[0]; 
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru