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

Программа в OpenCL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ввод массива http://www.cyberforum.ru/cpp/thread156508.html
Помогите пожалуйста с вводом массива неизвестного размера. например мне надо ввести набор чисел 186146. И вывести. Пробовал sizeof, не получается
C++ Параллельное действие Как сделать действие параллельным? Если например сделать что бы слово всегда меняло цвет, то программа зациклится на этом, и другие действия выполнять не будет. http://www.cyberforum.ru/cpp/thread156115.html
Решение уравнений C++
Я только начал изучать C++. Вот решил сделать маленькую программку: #include <iostream> using namespace std; int main() { setlocale(0,""); cout<<"Программа для решения простых уравнений"; double c; cout<<"Введите число после неизвестного:"; double x;
Web-сервис на C++? C++
предыстория такова: встретились,как-то,два совсем начинающих на С++.И как обычно завели "умный" спор по теме. Один начал доказывать другому(мне:)),что реализовать Web-сервис на С++ возможно и не так сложно. Я-же доказываю,что это совсем не просто да и не возможно. Помогите разрешить спор,кто прав? Возможно ли реализовать полноценный Web-сервис на С++?
C++ WinAPI Как заставить кнопки отображаться стилем Win7? (MinGW) http://www.cyberforum.ru/cpp/thread155735.html
Приветствую всех. Пишу на C++ (WinAPI). Компилятор - MinGW. Появилась следующая проблема: В приложении есть несколько кнопок, которые в Win7 отображаются старым Win-стилем. Как заставить их отображаться стилем Win7? Для WinXP спасал манифест, но, судя по всему, в Семерке такое уже не работает. === Как оказалось, тему создал не там. Нужно бы ее перенести, куда следует. Прошу прощения.
C++ Вытащить текст из файла как в массив закинуть содержимое body? я делаю без регулярных выражений, у меня получается вытянуть body, только если body открывается и закрывается в одной строке до этого читал посимвольно и тот вариант пропускал не то что нужно у меня вопрос: как читая построчно файл, удалить в нем не целую строку, а оставить часть файл состоит из нескольких строк <HTML><HEAD>... подробнее

Показать сообщение отдельно
Forester04
0 / 0 / 0
Регистрация: 26.07.2010
Сообщений: 24

Программа в OpenCL - C++

30.07.2010, 14:06. Просмотров 5210. Ответов 10
Метки (Все метки)

Братцы, сроки поджимают и нужно закончить программульку одну.

В общем, делал-делал и пришёл я к тупику на данном этапе... не знаю, что и делать.
Изначально программа должна была высчитывать с помощью ЦПУ корень из числа.
На выходе получается большое отрицательное число.
Помогите пожалуйста исправить ошибки.

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <stdafx.h>
#include <CL/cl.h>
 
 
const char* OpenCLSource[] =  {"__kernel void kor (__global float* X, __global float* SM,__global float* rez)"
"{"
"X = 10000;"
"if (X > 1) SM = X / 2; else SM  = 1;"
"for(; (SM != 0); SM /= 2) if ((rez * rez) > X) rez -= SM; else rez += SM;"
"return(rez);"
"}"
};
 
 
int main(int argc, char **argv) 
 
{
 
float X;
float SM;
float rez;
 
 
//Инициализация устройства
cl_context cxGPUContext = clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU, NULL, NULL, NULL);  
 
 
cl_int cdDevice = clGetDeviceIDs(NULL, CL_DEVICE_TYPE_CPU, NULL, NULL, NULL);
 
//Очерёдность выполнения
cl_command_queue cqCommandQue = clCreateCommandQueue(cl_context (cxGPUContext), NULL, 0, NULL);
//Memory Objects
cl_mem Xq = clCreateBuffer(cl_context (cxGPUContext), CL_MEM_WRITE_ONLY, 100, &X, NULL);
cl_mem SMq = clCreateBuffer(cl_context (cxGPUContext), CL_MEM_WRITE_ONLY, 100, &SM, NULL);
cl_mem rezq = clCreateBuffer(cl_context (cxGPUContext), CL_MEM_READ_ONLY, 100, &rez, NULL);
 
 
 
cl_program OpenCLProgram = clCreateProgramWithSource(cl_context (cxGPUContext), 1, OpenCLSource , NULL, NULL);
 
clBuildProgram(OpenCLProgram, 0, NULL, NULL, NULL, NULL);
 
cl_kernel kor = clCreateKernel(cl_program (OpenCLProgram), "kor2.cl", NULL);
 
clSetKernelArg(kor, 0, sizeof(cl_mem), (void*)&Xq);
clSetKernelArg(kor, 1, sizeof(cl_mem), (void*)&SMq);
clSetKernelArg(kor, 2, sizeof(cl_mem), (void*)&rezq);
 
 
cl_int clEnqueueNDRangeKernel(cl_command_queue (cqCommandQue));
 
 
clEnqueueReadBuffer(cqCommandQue, rezq, CL_TRUE, 0, sizeof(cl_float), rezq, 0, NULL, NULL);
 
printf("Hello %f\n", rez); 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru