Я только начинаю с языка бедра AMD (ROCM) для параллелизма HPC. Я сам не очень хороший программист, просто прохожу время ...
Я видел основные примеры ROMC от Amd Github .. Я только что написал следующий пример, чтобы увидеть, как он работает, довольно просто. Идея заключается в том, чтобы заполнять вектор 'v' со значением 4. Но когда я составляю ее и запускаю программу, вектор, отображаемая функцией Main (), является вектором, заполненным нулями!
Я не могу понять, что делаю неправильно. Следующее, код: < /p>
#include "cmdparser.hpp"
#include "example_utils.hpp"
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define BLOCK_SIZE 16
#define N 5
__global__ void rritz( float*v , int n) {
//int fila = blockIdx.y*blockDim.y + threadIdx.y;
int fila = blockIdx.y*blockDim.y + threadIdx.y;
// std::vector v(n);
const float h = 1 / n;
const float q = 4;
if(fila < n) {
// int auxi = fila;
v[fila] = q;
}
}
int main(){
std::vector h_v(N);
float *d_v;
hipMalloc(&d_v, sizeof(float)*N);
dim3 threadsPerBlock (BLOCK_SIZE, BLOCK_SIZE);
int bloques = ceil(N/BLOCK_SIZE);
dim3 blocksPerGrid (bloques, bloques);
rritz(d_v, N);
hipDeviceSynchronize();
hipMemcpy(h_v.data(), d_v, sizeof(float)*N, hipMemcpyDeviceToHost);
for(auto i:h_v)
std::cout
Подробнее здесь: https://stackoverflow.com/questions/796 ... urning-vec
Функция копирования памяти ROCM не работает при ожидаемом (функция хоста, возвращающая вектор нулей) ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как изолировать графические процессоры при использовании ROCM в Python
Anonymous » » в форуме Python - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как выбрать/изолировать графические процессоры при использовании ROCM в Python
Anonymous » » в форуме Python - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-