小编Iva*_*iti的帖子

将 cuda 数组传递给推力::inclusive_scan

我可以将 inclusive_scan 用于 cpu 上的数组,但是否可以使用 gpu 上的数组来执行此操作?(评论是我知道有效但我不需要的方式)。或者,是否还有其他简单的方法可以对设备内存中的数组执行包含扫描?

代码:

#include <stdio.h>
#include <stdlib.h> /* for rand() */
#include <unistd.h> /* for getpid() */
#include <time.h> /* for time() */
#include <math.h>
#include <assert.h>
#include <iostream>
#include <ctime>
  #include <thrust/scan.h>
#include <cuda.h>



#ifdef DOUBLE
 #define REAL double
 #define MAXT 256
#else
 #define REAL float
 #define MAXT 512
#endif

#ifndef MIN
#define MIN(x,y) ((x < y) ? x : y)
#endif

using namespace std;

bool errorAsk(const char *s="n/a")
{
cudaError_t err=cudaGetLastError();
if(err==cudaSuccess)
    return …
Run Code Online (Sandbox Code Playgroud)

cuda thrust

2
推荐指数
1
解决办法
914
查看次数

对 GPU 上的数组执行推力::min_element

我试图找到 GPU 上数组的最小值。我可以在 cpu 上使用 min_element,但不知道如何在 gpu 上使用 min_element。我也很困惑为什么 min_element 的返回必须是一个数组,因为只有一个最小值?这是最接近我认为正确的,但我得到:'错误:对于 min_element 行,不存在从“thrust::device_ptr”到“double *”的合适转换函数。

代码:

#include <stdio.h>
#include <stdlib.h> /* for rand() */
#include <unistd.h> /* for getpid() */
#include <time.h> /* for time() */
#include <math.h>
#include <assert.h>
#include <iostream>
#include <ctime>
#include <thrust/scan.h>
#include <thrust/device_ptr.h>
#include <thrust/reduce.h>
#include <thrust/extrema.h>
#include <cuda.h>

using namespace std;

bool errorAsk(const char *s="n/a")
{
cudaError_t err=cudaGetLastError();
if(err==cudaSuccess)
    return false;
printf("CUDA error [%s]: %s\n",s,cudaGetErrorString(err));
return true;
};

double *fillArray(double *c_idata,int N,double constant) {
    int …
Run Code Online (Sandbox Code Playgroud)

cuda gpu thrust

2
推荐指数
1
解决办法
1405
查看次数

奇怪的malloc:内存损坏

我正在编写一个"简单"代码来进行FFT.主要问题发生在DLpart部分:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <complex>
#include <algorithm>
#define SWAP(a,b) tempr=(a);(a) = (b); (b) = tempr
//although maybe i should make my own swap function rather than a define swap

using namespace std;
vector<double> bitReversal(vector<double> data, int nn,int* j);
vector<double> Xcreator(double xSteps);
vector< double > DLpart(vector<double> data,int nn,int j);
void arrayGuarder (vector<double>totals, string fileName,double xSteps);
vector<double> cosineCrafter(double xSteps,double numWaves);


 main(int argc, char **argv){
vector<double> input;
int j = 1; …
Run Code Online (Sandbox Code Playgroud)

c++ malloc fft corruption

-1
推荐指数
1
解决办法
2445
查看次数

标签 统计

cuda ×2

thrust ×2

c++ ×1

corruption ×1

fft ×1

gpu ×1

malloc ×1