小编Opt*_*mus的帖子

CUDA中clock()和clock64()的时钟测量是什么?

clock()CUDA中的时钟测量是什么clock64()

根据CUDA 文档,时钟是“每多处理器计数器”。根据我的理解,这是指主 GPU 时钟(而不是着色器时钟)。

但是,当我测量时钟计数并使用主 GPU 时钟频率将其转换为时间值时,我得到的结果是实际值的两倍(我使用 cuda 事件使用主机代码的内核执行时间来测量实际值)。这表明clock()返回着色器时钟频率而不是主 GPU 时钟。

我该如何解决这个困惑?

编辑:我通过将从 cudaGetDeviceProperties 获得的时钟速率除以 2 来计算主 GPU 时钟频率。据我了解cudaGetDeviceProperties给出的值是着色器时钟频率。

cuda nvidia clock

5
推荐指数
1
解决办法
9706
查看次数

CUFFT:当输入是一个音调阵列时,如何计算fft

我试图找到一个动态分配的数组的fft.使用输入数组从主机复制到设备cudaMemcpy2D.然后获取fft(cufftExecR2C)并将结果从设备复制回主机.

所以我最初的问题是如何在fft中使用音高信息.然后我在这里找到了答案 - CUFFT:如何计算投手指针的fft?

但不幸的是它不起作用.我得到的结果是垃圾值.以下是我的代码.

#define NRANK 2
#define BATCH 10

#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <cufft.h>
#include <stdio.h> 
#include <iomanip> 
#include <iostream>
#include <vector>

using namespace std;

const size_t NX = 4;
const size_t NY = 6;

int main()
    { 
    // Input array (static) - host side 
    float h_in_data_static[NX][NY] ={ 
        {0.7943 ,   0.6020 ,   0.7482  ,  0.9133  ,  0.9961 , 0.9261},
        {0.3112 ,   0.2630 ,   0.4505  ,  0.1524  ,  0.0782 ,  0.1782},
        {0.5285 ,   0.6541 ,   0.0838 …
Run Code Online (Sandbox Code Playgroud)

c++ cuda fft dynamic-arrays cufft

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

标签 统计

cuda ×2

c++ ×1

clock ×1

cufft ×1

dynamic-arrays ×1

fft ×1

nvidia ×1