Я столкнулся с очень странной проблемой: Mu 9800GT, похоже, не рассчитывает вообще.
Я перепробовал все привет-миры, которые нашел в интернете, вот один из них:
эта программа создает массив 1..100 на хостах, отправляет его на устройство, вычисляет квадрат каждого значения, возвращает его хосту, печатает результаты.
#include "stdafx.h"
#include <stdio.h>
#include <cuda.h>
__global__ void square_array(float *a, int N)
{
int idx = blockIdx.x * blockDim.x + threadIdx.x;
if (idx<N) a[idx] = a[idx] * a[idx];
}
// main routine that executes on the host
int main(void)
{
float *a_h, *a_d; // Pointer to host & device arrays
const int N = 100; // Number of elements in arrays
size_t size = N * sizeof(float);
a_h = (float *)malloc(size); // Allocate array on host
cudaMalloc((void **) &a_d, size); // Allocate array on device
// Initialize host array and copy it to CUDA device
for (int i=0; i<N; i++) a_h[i] = (float)i;
cudaMemcpy(a_d, a_h, size, cudaMemcpyHostToDevice);
// Do calculation on device:
int block_size = 4;
int n_blocks = N/block_size + (N%block_size == 0 ? 0:1);
square_array <<< n_blocks, block_size >>> (a_d, N);
// Retrieve result from device and store it in host array
cudaMemcpy(a_h, a_d, sizeof(float)*N, cudaMemcpyDeviceToHost);
// Print results
for (int i=0; i<N; i++) printf("%d %f\n", i, a_h[i]);
// Cleanup
free(a_h); cudaFree(a_d);
}
поэтому ожидается, что результат будет:
1 1.000
2 4.000
3 9.000
4 16.000
..
Клянусь, в 2009 году все работало идеально (Vista 32, Deviceemu)
теперь я получаю вывод:
1 1.000
2 2.000
3 3.000
4 4.000
так что моя карта ничего не делает. В чем может быть проблема?
Конфигурация это:
Win7x64
Визуальная студия 2010 32bit
cuda toolkit 3.2 64bit
Настройки компиляции: cuda 3.2 toolkit, 32-битная целевая платформа, deviceemu или нет - не имеет значения, результаты одинаковы.
Я также попробовал это на моей vmware xp (32bit) visual studio 2008. Результат тот же.
Пожалуйста, помогите мне, я едва сделал программу для компиляции, теперь мне нужно, чтобы она работала.
Вы также можете просмотреть мой проект со всем, что ему нужно от моего поста на форумах nvidia (2,7 кб)
Спасибо, Илья