问题标签 [amd-processor]
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.
linux - AMD OpenCL 编译器忽略内核属性“work_group_size_hint”
我目前正在优化 OpenCL 内核,并一直在尝试为工作组大小和向量宽度找到最佳值。
目前我正在使用带有 Intel i7-3930k(6 核 @ 3.5 GHz,HT 禁用)和 AMD HD6870 的 ubuntu 系统。安装了 Intel 和 AMD OpenCL 实现以进行比较。(AMD APP SDK v2.7 Linux 64b & Catalyst 12.4,英特尔 OpenCL SDK 1.5)。
在 CPU 上运行(在 Intel 平台上)我发现:
- 通过选择 256 的 wg 大小,与 wgsize=1 相比,我可以获得大约 13.5% 的性能。
- 通过指定
__attribute__((vec_type_hint(float4)))
我可以获得 30% 的提升。 - 通过指定
__attribute__((work_group_size_hint(WG_SIZE, 1, 1)))
我得到另一个〜90%(!)
因此,总的来说,这些选项可以使性能提高近 3 倍。不幸的是,在使用 AMD OpenCL 平台的 CPU 上运行这个案例时,我发现可选属性被忽略了。
内核声明为:
编译器输出为:
有人知道 AMD 是否总是忽略这些提示吗?或者我必须做些什么才能在 AMD 平台上启用这些属性?
opengl - AMD 硬件上的基本 Spotlighting GLSL 片段程序
我编写了一个 GLSL 片段程序,它可以绘制多个灯光,其中一些带有聚光灯效果(即,带有 GL_SPOT_DIRECTION 的 glLightfv 和带有 GL_SPOT_EXPONENT 的 glLightf)。该计划的相关摘录如下:
除了“vec_vertex_eye_i”之外,所有变量都是不言自明或记录在案的,它是来自顶点着色器的不同 vec3,其中它设置为 (gl_ModelViewMatrix*gl_Vertex).xyz。
该程序在 NVIDIA 硬件上完美运行(在 NVIDIA GeForce 8400M GS 和 NVIDIA GeForce GTX 580M 上测试),但在 AMD 卡(特别是 ATI Mobility Radeon HD 4250)上给出错误结果。
我的问题是,在 glEnable 或其他需要做的特殊配置方面,我是否可能缺少任何东西。AMD 卡有新的驱动程序,我宁愿认为聚光灯是一个不太可能被破坏的相当重要的功能。着色器编译得很好。我在这里想念什么?
opencl - 什么是 AMD/ATI Radeon 6000 系列 GPU 架构?
见问题。我可以找到关于 5000 系列和 7000 系列的文档,但没有关于 6000 系列的真正说明。这对于尝试接近 OpenCL 的理论最大吞吐量很有用。
到目前为止,我已经找到了AMD 的编程指南 (pdf)。这涵盖了 5000 和 7000 系列。但它只是顺便提到了6000系列。
opencl - OpenCL AMD APP 驱动程序无法检测 Linux 服务器上的 GPU
我使用 AMD A8-3870 APU 和 Radeon(tm) HD Graphics 和 Ubuntu 3.0.0-12-server。
我为 x86_64 安装了 amd-driver 12-6。
但是,当我运行 clinfo 时,我无法检测到 GPU 设备。相反,它返回 CPU 信息。
是因为我使用的是 APU 还是 amd-driver 和 linux 服务器有问题?
谢谢~
performance - AMD Opteron 6172 上的 PAPI 性能计数器问题
我一直在尝试使用 AMD Opteron 6172 处理器上的性能计数器分析某些应用程序(用 C 编写),运行 Red Hat Enterprise Linux Workstation 版本 6.2(圣地亚哥)。
我正在使用 PAPI v4.1.3.0,它将 AMD 本机事件 CPU_CLK_UNHALTED 用于 PAPI_TOT_CYC(计算总周期)和 DATA_CACHE_ACCESSES 用于 PAPI_L1_DCA(计算 L1 数据缓存访问)。
我遇到的问题是,在某些情况下,缓存访问次数高于总周期数。据我了解,缓存访问不会停止 CPU,因此它应该适合总周期。此外,当将总周期除以 Opteron 6172 的时钟频率时,我得到了对执行时间的非常准确的估计,这让我认为总周期还可以,问题必须与数据缓存访问的计数有关。
我已经根据 papi 示例启动了所有内容,并且没有收到任何错误。非常感谢任何帮助或解释为什么会发生这种情况的原因,在此先感谢。
http://support.amd.com/us/Processor_TechDocs/31116.pdf
- CPU_CLK_UNHALTED
CPU 未处于暂停状态的时钟数(由于 STPCLK 或 HLT 指令)。注意:此事件允许系统空闲时间从 IPC(或 CPI)测量中自动排除,前提是操作系统在空闲时暂停 CPU。如果操作系统进入空闲循环而不是停止,则此类计算会受到空闲循环的 IPC 的影响。
- DATA_CACHE_ACCESSES
为加载和存储引用访问数据缓存的次数。这可能包括某些微码暂存器访问,尽管这些通常很少见。每个增量代表一个八字节的访问,尽管指令可能只访问其中的一部分。本次事件为投机事件。
opengl - Ubuntu 12.04 /usr/bin/ld:错误:找不到-lGL
我安装了 fglrx ATI/AMD 专有驱动程序,现在当我尝试启动我的 OpenGL/SDL 项目时,我收到以下消息:/usr/bin/ld: error: cannot find -lGL
我运行 64 位 Ubuntu 12.04 桌面。HD6870 [ATI Radeon HD 6800 系列]
x86-64 - AMD 的 MP 规范,如何使用代码来启动与 AMD 相关的多处理器
我正在尝试编写一个支持多处理器的操作系统,但是我不知道如何为 AMD 引导多处理器,我已经搜索了 AMD 主页以找到 MP 规范,但没有找到,谁能告诉我链接地址?
azure - Windows Azure 上的 CPU 品牌(英特尔、AMD 或任何)是什么?
我想在 VM Azure 上托管应用程序,但这需要 Intel CPU 指令。在“计算机菜单”上打开属性时,我在 VM 上看到了 AMD 类型。我认为这是 Azure 上的兼容 CPU。
Windows Azure 上的实际 CPU 品牌(英特尔或 AMD 或任何)是什么?
ubuntu - 了解 CPU 架构缩写
我已经在电脑上安装了 ubuntu。现在我想知道它的CPU架构。我已经读过 uname -a 可以用于此,所以:
从这个页面:
http://en.wikipedia.org/wiki/X86-64
我推断它是一个AMD cpu。但是如果我运行:
表明它是英特尔四核。我也尝试过运行lscpu:
供应商 ID:GenuineIntel
表示英特尔 CPU。那么这台机器上的cpu是什么?