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

Исправить ошибку в коде, рисующую фрактал Мандельброта с помощью CUDA - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевернуть четырехзначное число http://www.cyberforum.ru/cpp-beginners/thread1572124.html
переворачивающую 4-хзначное число, и чтобы была проверка условия если число не 4-х значное то программа выключается, так необходимо делать по принципу деления с остатком int number, n1, n2, n3,n4; if (number <= 9999 && number > 999); cout << "Введите 4-х значное число: "; cin >> number; {
C++ Опыт в разработке ПО Приветствую всех! Нужен опыт создания серьезных проектов... Скелет или даже логика разработки проекта (реализации проекта, а не ТЗ, ТУ и т.п. и т.д.). Чтобы мочь себе ответить на следующие вопросы: Начать разработку с конца, т.е. с конечного результата и двигаться вглубь реализуя весь функционал по очереди, попутно подбирая методы и способы? Если выбрать такой метод, то есть ли вероятность,... http://www.cyberforum.ru/cpp-beginners/thread1572112.html
C++ Для вводимой последовательности целых чисел найти минимальное, большее некоторого р DevC++
Для вводимой последовательности целых чисел найти минимальное, большее некоторого р DevC++. Буду очень благодарен за любую помощь в составлении программы
C++ Выравнивание столбцов
Подскажите, пожалуйста, как вывести ответы в ровные столбцы. Получается только так, как на скрине. Код выглядит так: ... cout<<y<<setw(30)<<rasn<<endl; ... ... cout<<"S(x)"<<setw(30)<<"|S(x)-y(x)|"<<endl ...
C++ Определить день недели по дате http://www.cyberforum.ru/cpp-beginners/thread1572093.html
Здравствуйте,в универе дали такое задание. Сделать программу в С++ builder. "составить программу определяющую день недели по дате". Помогите пожалуйста с идеей как это сделать.Я взял промежуток с 1900 по 2100 год. Я могу определить високосный это год или нет: #include<iostream.h> #include<stdio.h> #include<conio.h> #include<math.h> void main(void) { int a,b,c,d
C++ Вывести строку в поток стандартного вывода Суть в том, что мне нужно чтобы мой cout выводил мой ответ на строку ввода, например 2+2=4. #include <conio.h> #include <iostream> using std::cout; using std::endl; using std::cin; int main() подробнее

Показать сообщение отдельно
grelik
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 14
05.11.2015, 14:21     Исправить ошибку в коде, рисующую фрактал Мандельброта с помощью CUDA
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
uint* d_image_buffer;
  cudaAssertSuccess(cudaMalloc(&d_image_buffer, WIDTH * HEIGHT));
  dim3 block_size(16, 16);
  dim3 grid_size(WIDTH / block_size.x, HEIGHT / block_size.y);
  calc<<<grid_size, block_size>>>(d_image_buffer);
  cudaAssertSuccess(cudaPeekAtLastError());
  cudaAssertSuccess(cudaDeviceSynchronize());
  cudaAssertSuccess(cudaMemcpy(image_buffer, d_image_buffer, HEIGHT * WIDTH, cudaMemcpyDeviceToHost));
  cudaAssertSuccess(cudaFree(d_image_buffer));
}
 
__global__ void calc(uint image_buffer)
{
  int row = blockIdx.y * blockDim.y + threadIdx.y;  // WIDTH
  int col = blockIdx.x * blockDim.x + threadIdx.x;  // HEIGHT
  int idx = row * WIDTH + col;
  if(col >= WIDTH || row >= HEIGHT) return;
 
  float x0 = ((float)col / WIDTH) * 3.5f - 2.5f;
  float y0 = ((float)row / HEIGHT) * 3.5f - 1.75f;
 
  float x = 0.0f;
  float y = 0.0f;
  int iter = 0;
  float xtemp;
  while((x * x + y * y <= 4.0f) && (iter < MAX_ITER))
  { 
    xtemp = x * x - y * y + x0;
    y = 2.0f * x * y + y0;
    x = xtemp;
    iter++;
  }
 
// вот так выводится в файл
FILE * pFile;
char name [100];
   pFile = fopen ("myfile.txt","w");
   for (int i=0 ; i<size ; i++)
   {  
     fprintf (pFile, "%d\n", image_buffer);
   }
   fclose (pFile);
Вот код считающий множество мандельброта, но почему то при выводе в файл, после строки №65536 начинает вместо правильных цифр выводить мусор (размер 512 на 512), помогите выяснить почему, возможности отлаживать код нету, выполнять приходится удаленно
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru