问题标签 [mali]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
969 浏览

opencl - 确定 OpenCL 工作组规模的限制因素?

我正在尝试在资源较少的嵌入式 GPU 上运行一些为桌面显卡编写的 OpenCL 内核。特别是,桌面版假定始终支持至少 256 个工作组大小,但基于 Mali T628 ARM 的 GPU 仅保证 64+ 个工作组大小。

事实上,一些内核报告CL_KERNEL_WORK_GROUP_SIZE只有 64 个,我不知道为什么。我检查了CL_KERNEL_LOCAL_MEM_SIZE有问题的内核,它是 <2 KiB,而CL_DEVICE_LOCAL_MEM_SIZE是 32 KiB,所以我想我可以排除__local存储。

还有哪些其他因素(例如,寄存器/__private内存?)导致 low CL_KERNEL_WORK_GROUP_SIZE,以及如何检查使用情况?我对编程内省(例如clGetKernelWorkGroupInfo()我已经做过的一些)和任何我可能不知道的开发工具持开放态度。

编辑:

内核是 OpenCV 的 OpenCL v2.4 模块的一部分。特别icvCalcOrientationsurf.cl. 代码相当复杂,并且设置了几个编译时参数,这就是为什么手动分析内核的问题而没有一些提示的原因有点不可行。

如果有办法在 NVidia 或 AMD 硬件(我可以访问)上解决这个问题,我愿意接受。

0 投票
1 回答
158 浏览

renderscript - Juno 上的 Mali GPU 渲染脚本

我们可以在 Juno 板上的 MALI gpu 上运行渲染脚本程序吗?我想我们需要 GPU 的渲染脚本驱动程序。我是对的。有人可以简要介绍一下这个场景的大图吗(比如涉及的硬件/软件组件是什么,以及每个组件的功能)?

0 投票
1 回答
1141 浏览

android - ARM MALI gpu 上的 OpenGL ES 2.0 渲染到纹理错误

嗨,我正在开发一个安卓应用程序,我正处于测试阶段,我正在不同的设备上试用它。我在nexus 7上开发了该应用程序。

当我在 arm mali gpu 设备上运行它时,渲染的 textrue 开始疯狂地闪烁/滞后。如果我将点大小设置为 1,我在生成的纹理中使用 GLES20.GL_POINTS早期渲染的纹理。

知道是什么原因造成的吗?

这是我渲染到文本的方法:

这在绘制时被调用:

阿斯达斯

然后我把它画到屏幕上

0 投票
0 回答
179 浏览

android - 如何在三星安卓设备的片段着色器中使用随机矩阵?

我是 OpenGL 的新手。下面是我用于渲染的片段着色器代码,但在所有三星设备中它只显示红色,而在 Nexus 4 和 5 中它给出了正确的结果。没有链接错误,即使我只是简单地初始化矩阵而不使用,它也会给出红色。

我搜索并发现 Mali GPU 存在一些问题。如何定义一个随机矩阵并在片段着色器代码中使用该矩阵,以便它在所有平台上为我提供正确的结果。

0 投票
1 回答
541 浏览

python - Kivy 在配备 Mali-T628 MP6 的三星 Exynos5422 上表现不佳

我正在使用 Python 开发应用程序,并使用“Kivy”来创建 UI。在具有 Intel CPU 和 nVidia GPU 机器的 Windows 上,一切都按预期进行,但在具有 ARM CPU 和 Mali GPU 的 Ubuntu 和 Android 机器上,性能非常非常差,即:1 秒动画/过渡需要几秒钟,并且每一帧都滞后,另一个例子:当我单击/点击按钮时,即使背景更改也需要一些时间!!!我该如何解决?先感谢您

0 投票
1 回答
1205 浏览

opencl - openCL CL_OUT_OF_RESOURCES 错误

我正在尝试将用 Cuda 编写的代码转换为 openCL 并遇到一些麻烦。我的最终目标是在带有 Mali T628 GPU 的 Odroid XU3 板上实现代码。

为了简化转换并节省尝试调试 openCL 内核的时间,我完成了以下步骤:

  1. 在 Cuda 中实现代码并在 Nvidia GeForce 760 上进行测试
  2. 在 openCL 中实现代码并在 Nvidia GeForce 760 上进行测试
  3. 在带有 Mali T628 GPU 的 Odroid XU3 板上测试 openCL 代码。

我知道不同的架构可能有不同的优化,但这不是我现在主要关心的问题。我设法在我的 Nvidia GPU 上运行 openCL 代码,没有明显问题,但是在尝试在 Odroid 板上运行代码时不断出现奇怪的错误。我知道不同的架构对异常等有不同的处理,但我不确定如何解决这些问题。

由于 openCL 代码在我的 Nvidia 上工作,我假设我设法在线程/块之间进行了正确的转换 - > workItems/workGroups 等。我已经修复了几个与 cl_device_max_work_group_size 问题相关的问题,所以这不是原因。

运行代码时,我收到“CL_OUT_OF_RESOURCES”错误。我已将错误原因缩小到代码中的 2 行,但不确定是否能解决这些问题。

该错误是由以下几行引起的:

  1. 最低距离[pixelNum] = partialDiffSumTemp; 这两个变量都是内核的私有变量,因此我没有看到任何潜在的问题。
  2. d_disparityLeft[globalMemIdx + TILE_BOUNDARY_WIDTH - WINDOW_RADIUS + 0] = bestDisparity[0]; 在这里我猜原因是“OUT_OF_BOUND”,但不知道如何调试它,因为原始代码没有任何问题。

我的内核代码是:

感谢所有的帮助

尤瓦尔

0 投票
0 回答
498 浏览

android - 着色器和制服。在 Galaxy S6 上表现不如预期

我有一个距离场着色器,用于在 LibGDX 中进行字体渲染。它需要统一设置文本的粗体。所有这一切多年来一直运行良好,但在最近的 Galaxy S6 更新似乎正在推出之后的最后一周左右(我相信在美国),我收到了几份关于字体渲染不正确的报告。(如果您有 S6 并想查看问题,可以在此处下载)

我的字体渲染涉及 3 遍,一次用于阴影,一次用于笔划,一次用于正文。阴影和描边比正文更粗(取决于字体设置)

我遇到的问题是 S6 似乎忽略了我更改制服以使文本不那么粗体,因此它将文本绘制得过于粗体并将字母相互合并。

下面是不正确和正确渲染的示例(此处没有阴影)。

例子

该游戏已经推出一年多,并安装在超过 50 万台设备上,而这个问题才刚刚开始出现。

我没有要测试的有问题的 S6,这使它变得棘手。这是我的字体渲染方法。

和片段着色器

设置制服时我还应该做些什么吗?我不应该开始和结束着色器是吗?任何指针都会很有用。

更新如果我打电话drawBatch.end(); drawBatch.begin();而不是drawBatch.flush();那么问题就解决了。然而,这效率不高,所以我想要一个更好的解决方案。

另一个更新

我现在用它来解决这个问题

0 投票
0 回答
1230 浏览

linux - 使用 ArchLinux 在 ODROID-XU3 上安装 Mali 驱动程序

我有一个带有 ARM Mali T628 的 ODROID-XU3 板。该板运行 Arch Linux,内核版本为 3.4.104-2。我没有 Mali 驱动程序,我想知道安装它们的最佳方法是什么。我希望在它上面运行 OpenCL 应用程序,所以如果我需要任何其他东西,如果您告诉我,我将不胜感激。谢谢!

0 投票
1 回答
1082 浏览

arm - OpenCL 编译器不可用

实际上我尝试在 Nexus 10 上运行 OpenCL 示例,但还没有成功。我使用了 Mali OpenCL SDK http://malideveloper.arm.com/resources/sdks/mali-opencl-sdk/ 和 android NDK。同样在链接样本时,我使用了来自目标的 libGLES_mali.so。经过一番挣扎后,我编译了示例程序并将其推送到板上。它似乎运行正常,但在编译 GPU 代码时出现错误:

我用谷歌搜索了很多,但没有发现任何与主题相关的内容。我在哪里可以找到这个 OpenCL 编译器,为什么当 OpenCL 库在机上时没有提供它?

0 投票
0 回答
215 浏览

samsung-mobile - Galaxy S6 渲染脚本性能

我对 Renderscript 有一些问题。为了评估 Renderscript GPU 计算的性能,我做了一些测试。我使用了 ImageProcessing Renderscript Benchmark (android/platform/frameworks/rs/java/tests/ImageProcessing)。我还使用“adb shell setprop debug.rs.default-CPU-driver 1”强制脚本在 CPU 上运行。

得到的执行时间为:

CPU 和 GPU 执行没有显示任何差异。看起来 S6 设备总是选择 CPU 而不是 GPU。我在其他设备上执行了相同的测试,GPU 的执行速度比 CPU 快得多。

ARM mali Renderscript 驱动程序是否包含在 S6 设备中?