小编Hau*_*eld的帖子

GCC -fPIC选项

我已经阅读了GCC的代码生成约定选项,但无法理解"生成与位置无关的代码(PIC)"的作用.请举例说明一下这是什么意思.

c++ gcc options fpic

403
推荐指数
6
解决办法
23万
查看次数

如何根据深度优先级索引计算完美二叉树中节点的级别?

我有一个完美的二叉树,即树中的每个节点都是叶节点,或者有两个子节点,并且所有叶节点都在同一级别上.每个节点都有一个深度优先的索引.

(例如,在具有3个级别的树中,根节点具有索引0,第一个孩子具有1,第一个孩子的第一个孩子具有2个,第一个孩子的第二个孩子具有3个,第二个孩子具有4个,第一个孩子第二个孩子有5个,第二个孩子的第二个孩子有6​​个.

      0
    /   \
  1      4
 / \    / \
2   3  5   6
Run Code Online (Sandbox Code Playgroud)

)

我知道树的大小(节点数/最大级别),但只知道特定节点的索引,我需要计算它的级别(即它与根节点的距离).我如何最有效地完成这项工作?

algorithm binary-tree depth-first-search

5
推荐指数
2
解决办法
2万
查看次数

如何从线性内存创建cudaTextureObject_t?

我无法获得引用线性内存的无绑定纹理 - 结果始终为零/黑色读取.我的初始化代码:

缓冲区:

int const num = 4 * 16;
int const size = num * sizeof(float);
cudaMalloc(buffer, size);

auto b = new float[num];
for (int i = 0; i < num; ++i)
{
    b[i] = i % 4 == 0 ? 1 : 1;
}
cudaMemcpy(*buffer, b, size, cudaMemcpyHostToDevice);
Run Code Online (Sandbox Code Playgroud)

纹理对象:

cudaTextureDesc td;
memset(&td, 0, sizeof(td));

td.normalizedCoords = 0;
td.addressMode[0] = cudaAddressModeClamp;
td.addressMode[1] = cudaAddressModeClamp;
td.addressMode[2] = cudaAddressModeClamp;
td.readMode = cudaReadModeElementType;
td.sRGB = 0;

td.filterMode = cudaFilterModePoint;
td.maxAnisotropy = …
Run Code Online (Sandbox Code Playgroud)

c++ textures cuda

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

标签 统计

c++ ×2

algorithm ×1

binary-tree ×1

cuda ×1

depth-first-search ×1

fpic ×1

gcc ×1

options ×1

textures ×1