- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在运行 CUDA 5.0,使用 670 设置了 compute_30、sm_30。
我通过以下方式创建一个 mipmapped 数组:
cudaExtent size;
size.width = window_width; // 600
size.height = window_height; // 600
size.depth = 1;
int levels = getMipMapLevels(size);
levels = MIN(levels, 9); // 9
cudaChannelFormatDesc fp32;
fp32.f = cudaChannelFormatKindFloat;
fp32.x = fp32.y = fp32.z = fp32.w = 32;
cudaMipmappedArray_t A;
checkCuda(cudaMallocMipmappedArray(&A, &fp32, size, levels, cudaArraySurfaceLoadStore));
我用 surf2Dwrites 加载了 A 的第一层。我知道这是可行的,因为我将该数组复制到主机并将其转储到图像文件。我现在希望用 mipmap 填充 A 的其他 miplevel。通过该循环的一次迭代看起来像:
width >>= 1; width = MAX(1, width);
height >>= 1; height = MAX(1, height);
cudaArray_t from, to;
checkCuda(cudaGetMipmappedArrayLevel(&from, A, newlevel-1));
checkCuda(cudaGetMipmappedArrayLevel(&to, A, newlevel));
cudaTextureObject_t from_texture;
create_texture_object(from, true, &from_texture);
cudaSurfaceObject_t to_surface;
create_surface_object(to, &to_surface);
dim3 blocksize(16, 16, 1);
dim3 gridsize((width+blocksize.x-1)/blocksize.x,(height+blocksize.y-1)/blocksize.y, 1);
d_mipmap<<<gridsize, blocksize>>>(to_surface, from_texture, width, height);
checkCuda(cudaDeviceSynchronize());
checkCuda(cudaGetLastError());
uncreate_texture_object(&from_texture);
uncreate_surface_object(&to_surface);
已知 create_surface_object() 代码可以工作。为了以防万一,这里是 create_texture_object() 代码:
static void create_texture_object(cudaArray_t tarray, bool filter_linear, cudaTextureObject_t *tobject)
{
assert(tarray && tobject);
// build the resource
cudaResourceDesc color_res;
memset(&color_res, 0, sizeof(cudaResourceDesc));
color_res.resType = cudaResourceTypeArray;
color_res.res.array.array = tarray;
// the texture descriptor
cudaTextureDesc texdesc;
memset(&texdesc, 0, sizeof(cudaTextureDesc));
texdesc.addressMode[0] = cudaAddressModeClamp;
texdesc.addressMode[1] = cudaAddressModeClamp;
texdesc.addressMode[2] = cudaAddressModeClamp;
texdesc.filterMode = filter_linear ? cudaFilterModeLinear : cudaFilterModePoint;
texdesc.normalizedCoords = 1;
checkCuda(cudaCreateTextureObject(tobject, &color_res, &texdesc, NULL));
}
d_mipmap 设备函数如下:
__global__ void
d_mipmap(cudaSurfaceObject_t out, cudaTextureObject_t in, int w, int h)
{
float x = blockIdx.x * blockDim.x + threadIdx.x;
float y = blockIdx.y * blockDim.y + threadIdx.y;
float dx = 1.0/float(w);
float dy = 1.0/float(h);
if ((x < w) && (y < h))
{
#if 0
float4 color =
(tex2D<float4>(in, (x + .25f) * dx, (y + .25f) * dy)) +
(tex2D<float4>(in, (x + .75f) * dx, (y + .25f) * dy)) +
(tex2D<float4>(in, (x + .25f) * dx, (y + .75f) * dy)) +
(tex2D<float4>(in, (x + .75f) * dx, (y + .75f) * dy));
color /= 4.0f;
surf2Dwrite(color, mipOutput, x * sizeof(float4), y);
#endif
float4 color0 = tex2D<float4>(in, (x + .25f) * dx, (y + .25f) * dy);
surf2Dwrite(color0, out, x * sizeof(float4), y);
}
}
其中包含 mipmap 采样代码(如果有的话)和调试代码。
问题是,color0 始终统一为零,我一直无法理解为什么。我已经将过滤更改为点(从线性)但没有成功。我检查过错误。什么都没有。
我在这里使用 CUDA/OpenGL 互操作,但 mipmap 生成仅在 CUDA 数组上完成。
我真的不想使用纹理引用。
有什么关于去哪里看的建议吗?
最佳答案
这个错误原来是 cudaMipmappedArrays 的使用(数组或纹理对象——我无法判断哪个损坏了。)
当我修改代码以仅使用 cudaArrays 时,纹理引用再次开始工作。
由于无绑定(bind)纹理程序示例有效,该错误似乎仅限于 float32 channel mipmapped 纹理。 (我有一个测试程序显示 1 channel 和 4 channel float32 mipmapped 纹理都会出现错误。)
我已将错误报告给 Nvidia。
关于cuda - tex 对象访问总是返回零——有什么想法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15780604/
我的意思是整篇论文,而不仅仅是其中的文本区域。 我希望 dvi 输出在查看器中看起来 1 厘米 x 10 米,如果 我在 tex 文件中设置了这些尺寸。 而且我不想为此通过 LaTeX。 最佳答案 在
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我在需要数值的参数中使用自动生成的 Tex 字符串时遇到问题(例如,在 ifthenelse 比较中)。这是一个示例最小代码: \newcommand\testC{123} \ifthenelse{\
我用的是 Mac。但我也有一台装有 Windows 7 的 PC。所以当我想开始使用 TeX 为 LaTeX 编程功能时,我的起点是什么?是否有 SDK 和文档?我找不到任何关于 TeX 编程的书。
在Xymostech的帮助下,已解决了将Bash中的&&转换为Python的问题,非常感谢其帮助-谢谢! 有争议的命令行(来自Bash终端)是:latexmk file.tex && latexmk
[编辑以提供更多信息] 我正在使用以下 R markdown 文件生成以下 Tex 文件。我在我的 .rmd header 中包含了 amsthm,它正在生成一个没有 amsthm 的 Tex 文件。
我有以下 Hello World 代码来尝试在我的 Mac 上使用 matplotlib 进行 TeX 渲染。 import matplotlib.pyplot as plt from matplot
如何使用命令行脚本下载背页项目的源代码?我想定期备份源文件,如果我可以自动下载而不是每次都通过 Web 界面进行下载会更好。我不知道任何允许我这样做的 API,有吗? 我知道一个理想的解决方案可能会使
我正在尝试打开.tex文件。 我不确定我是否已经深入到了(可能)令人惊讶的复杂过程。有人告诉我可以用Notepad++做到这一点,然后继续下载。结果如下: %sample file for Model
我想在 TeX 方程中使用包含破折号的变量名。但是,破折号被解释为减号。任何人都知道如何逃避角色? 最佳答案 使用\textrm{-} 不起作用? 关于在 TeX 方程中转义一个字符?,我们在Stac
在 TEX 中,如何分割字符串,例如 \mana{X1 2W/UB R /G}分成几部分并将它们提供给另一个宏(在这种情况下,用类似 \m{X}\m{12}\m{W/U}\m{B}\m{R/G} 的东
我目前正在写我的学士论文,我的大学想要一份单面打印。打印和装订将由专业打印公司完成。他们只接受双面手稿。 因此,我需要在每一页内容后添加一个空白页。我不想使用 \newpage 手动执行此操作或 \c
我想在 .vimrc 中运行一个命令,以防文件是 latex 文件。我想我有一些语法问题,它不起作用。有什么线索吗? if &filetype=='tex' set spell endif 最
我正在使用在 XeLaTeX 之上编写的包。该包使用fontspec为文本的不同部分指定字体:拉丁语、非拉丁语、数学模式…… 该软件包附带了几个示例文件。我能够 xelatex 其中大多数依赖于常规
在 mathworks.com 的在线文档中,哪里有 MATLAB 支持的 TeX 字符子集表? 我习惯于轻松找到它,但我却找不到:在此页面上 http://www.mathworks.com/hel
我正在编写一个 Python 脚本,它将纯文本作为输入并生成LaTeX 代码作为输出。在某些时候,脚本必须引用所有在 TeX 中有特殊含义的字符,如 %、&、\ 等上。 这比我想象的要难。目前我有这个
我正在使用 Firebase 将内容放到网站上。类似“获取多项选择题/选项并将它们插入 div 标签”之类的东西。其中一些问题使用数学/化学方程,我认为 TeX 将是一个很好的渲染工具。 基本上,如果
假设我有一个文本文件 something.txt。写着4062,2016-12-31 我想在脚本中的一个命令中发送“4062”,在另一个命令中将“2016-12-31”作为字符串发送。可以用 BASH
在 MediaWiki 中,如果您在公式中添加非英语文本,它会剪切。例如,如果您编写 \text{щfбb}(щ 和 б 俄语(西里尔)符号)输出将是 fb 不是 щfбb。 最佳答案 首先,如果您的
我正在运行 CUDA 5.0,使用 670 设置了 compute_30、sm_30。 我通过以下方式创建一个 mipmapped 数组: cudaExtent size; size.width =
我是一名优秀的程序员,十分优秀!