小编use*_*567的帖子

在 linux 中更新包含路径

我在 /my/path/to/file 文件夹中有几个头文件。我知道如何将这些文件包含在新的 C 程序中,但每次我都需要在包含头文件之前键入头文件的完整路径。我可以在 linux 中设置一些路径变量,以便它自动查找头文件吗?

linux

3
推荐指数
1
解决办法
3万
查看次数

内联PTX汇编代码功能强大吗?

我看到了一些代码示例,人们在C代码中使用内联PTX汇编代码.CUDA工具包中的Doc提到PTX很强大,为什么会这样?如果我们在C代码中使用这些代码,我们会获得什么好处?

cuda

3
推荐指数
1
解决办法
2053
查看次数

字符串拆分在python中的字符串中的每个其他逗号之后

我有一个字符串,其中包含用逗号分隔的每个单词.我想用python中的每个其他逗号分割字符串.我该怎么做?

例如,"xyz,abc,jkl,pqr"应该"xyzabc"作为一个字符串和"jklpqr"另一个字符串

python string split

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

在CUDA中分配共享变量

如何在CUDA中分配共享变量?我有一个内核,需要在属于特定块的线程之间共享数据.我需要两个名为sid和的共享变量eid.我这样使用它:

extern __shared__ int sid, eid  
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误,__shared__变量不能有外部链接.

cuda

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

__syncthreads无法在CUDA中工作

我编写了简单的内核来测试CUDA的功能__syncthreads.在内核中,我设法从每个线程打印,如果更新的值对其他线程不可见.理想情况下,没有线程应该打印Not visible to me错误消息,但有些线程最终会打印此消息.这是内核.

__device__ int a=0;  
__global__ void kernel()  
{  

    isItOK=false;  
    if(threadIdx.x==0 && blockIdx.x==0)  
    {  
        atomicAdd(&a,1);  
        __threadfence();  
    }  
    __syncthreads();  
    if(atomicAdd(&a,0)==0)  
    {  
        cuPrintf("Not Visible to me\n");  
    }  

}  
int main()  
{  
    int *a;  
    cudaPrintfInit();  
    kernel<<<16,16>>>();  
    cudaPrintfDisplay(stdout,true);  
    cudaPrintfEnd();  
}
Run Code Online (Sandbox Code Playgroud)

请帮我这个,非常简单的测试程序,但仍然无法正常工作.我们需要设置一些编译器标志吗?

cuda

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

将thrust :: iterators转换为原始指针和从原始指针转换

我想使用Thrust库来计算CUDA中设备数组的前缀和.我的数组已分配cudaMalloc().我的要求如下:

main()  
{  
     Launch kernel 1 on data allocated through cudaMalloc()  
     // This kernel will poplulate some data d.  
     Use thrust to calculate prefix sum of d.  
     Launch kernel 2 on prefix sum.  
}
Run Code Online (Sandbox Code Playgroud)

我想在我的内核之间的某处使用Thrust所以我需要方法将指针转换为设备迭代器并返回.下面的代码有什么问题?

int main()                                                        
{                                                                 
    int *a;                                                   
    cudaMalloc((void**)&a,N*sizeof(int));   
    thrust::device_ptr<int> d=thrust::device_pointer_cast(a);  
    thrust::device_vector<int> v(N);                    
    thrust::exclusive_scan(a,a+N,v);                          
    return 0;                                                  
}                     
Run Code Online (Sandbox Code Playgroud)

cuda thrust

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

为什么要调用这个构造函数?

我对于关于它为什么调用第一个构造函数的程序感到困惑.

class A  
{  
public:  
        A(const char *c="\0")  
        {  
                cout<<"Constructor without arg";  
        }  
        A(string c)  
        {  
                cout<<"New one";  
        }  

};  

int main()  
{  
        A a="AMD";  
        return 0;  
}  
Run Code Online (Sandbox Code Playgroud)

输出是 Constructor without arg

c++

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

CUDA中的可用共享内存

是否有任何应用程序级别的API可用于释放CUDA中CTA分配的共享内存?我想将CTA重用于另一个任务,并且在开始该任务之前,我应该清理上一个任务使用的内存。

cuda

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

从基类扩展派生类中的多态性

我有一个基类A,另一个B公开派生自类'A'的类和一个main函数:

#include <iostream>

class A  
{
public:  
    void add(int x,int y){std::cout<<x+y;}
};

class B:public A
{
public:
    void add(int *x,int *y){std::cout<<*x+*y;}
};

int main()
{
    B t;
    int p=5,q=6;
    t.add(p,q);
}
Run Code Online (Sandbox Code Playgroud)

上面的程序无法编译,我能够理解addA类中的函数隐藏在B类中的原因.

我的问题是,我如何实现上述任务?我想在派生类中添加一个函数定义,其名称与基类中的某个函数相同.该功能的参数列表将有所不同.

c++

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

在 vim 缓冲区的每一行上运行 vim 命令

我想JJ在当前 vim 缓冲区中的每一行。由于我有非常大的文件,不可能在每一行上手动运行。我怎么能告诉vim为我做这件事?基本上我有一个文件,其中包含单列数据。我想把它转换成三列

a
b
c
Run Code Online (Sandbox Code Playgroud)

到:

a b c
Run Code Online (Sandbox Code Playgroud)

vim

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

标签 统计

cuda ×5

c++ ×2

linux ×1

python ×1

split ×1

string ×1

thrust ×1

vim ×1