- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为了了解 Mali T760 GPU 的最大时钟频率,我使用了以下代码片段:
// Get device max clock frequency
cl_uint max_clock_freq;
err_num = clGetDeviceInfo(cl_devices[device_idx], CL_DEVICE_MAX_CLOCK_FREQUENCY, sizeof(max_clock_freq), &max_clock_freq, NULL);
check_cl_error(err_num, "clGetDeviceInfo: Getting device max clock frequency");
printf("CL_DEVICE_MAX_CLOCK_FREQUENCY: %d MHz\n", max_clock_freq);
此处提供完整源代码:https://github.com/sivagnanamn/opencl-device-info
查询结果显示 CL_DEVICE_MAX_CLOCK_FREQUENCY: 99 MHz
而规范中报告的时钟频率为 600MHz (src: https://www.notebookcheck.net/ARM-Mali-T760-MP4.148383.0.html )
为什么规范中报告的实际时钟频率与 OpenCL 查询的时钟频率之间存在差异?
编辑 1:
这是用于查询支持 OpenCl 的 GPU 设备的最大时钟频率的代码的最小版本。
#include <stdio.h>
#include <stdlib.h>
#ifdef __APPLE__
#include <OpenCL/opencl.h>
#else
#include <CL/cl.h>
#endif
void check_cl_error(cl_int err_num, char* msg) {
if(err_num != CL_SUCCESS) {
printf("[Error] OpenCL error code: %d in %s \n", err_num, msg);
exit(EXIT_FAILURE);
}
}
int main(void) {
cl_int err_num;
char str_buffer[1024];
cl_uint num_platforms_available;
// Get the number of OpenCL capable platforms available
err_num = clGetPlatformIDs(0, NULL, &num_platforms_available);
// Exit if no OpenCL capable platform found
if(num_platforms_available == 0){
printf("No OpenCL capable platforms found ! \n");
return EXIT_FAILURE;
}
// Create a list for storing the platform id's
cl_platform_id cl_platforms[num_platforms_available];
err_num = clGetPlatformIDs(num_platforms_available, cl_platforms, NULL);
check_cl_error(err_num, "clGetPlatformIDs: Getting available platform id's");
// Get attributes of each platform available
for(int platform_idx = 0; platform_idx < num_platforms_available; platform_idx++) {
// Get the number of OpenCL supported device available in this platform
cl_uint num_devices_available;
err_num = clGetDeviceIDs(cl_platforms[platform_idx], CL_DEVICE_TYPE_ALL, 0, NULL, &num_devices_available);
check_cl_error(err_num, "clGetDeviceIDs: Get number of OpenCL supported devices available");
cl_device_id cl_devices[num_devices_available];
err_num = clGetDeviceIDs(cl_platforms[platform_idx], CL_DEVICE_TYPE_ALL, num_devices_available, cl_devices, NULL);
check_cl_error(err_num, "clGetDeviceIDs: Getting available OpenCL capable device id's");
// Get attributes of each device
for(int device_idx = 0; device_idx < num_devices_available; device_idx++) {
// Get device max clock frequency
cl_uint max_clock_freq;
err_num = clGetDeviceInfo(cl_devices[device_idx], CL_DEVICE_MAX_CLOCK_FREQUENCY, sizeof(max_clock_freq), &max_clock_freq, NULL);
check_cl_error(err_num, "clGetDeviceInfo: Getting device max clock frequency");
printf("[Platform %d] [Device %d] CL_DEVICE_MAX_CLOCK_FREQUENCY: %d MHz\n", platform_idx, device_idx, max_clock_freq);
}
}
return 0;
}
我在使用 Mali T760 GPU 的 ASUS TinkerBoard 上执行后得到的输出是
[Platform 0] [Device 0] CL_DEVICE_MAX_CLOCK_FREQUENCY: 99 MHz
根据 OpenCL 文档,没有比例因子。查询应返回以 MHz 为单位的频率 ( https://www.khronos.org/registry/OpenCL/sdk/1.2/docs/man/xhtml/clGetDeviceInfo.html )
OpenCL 文档摘录:CL_DEVICE_MAX_CLOCK_FREQUENCY - cl_uint - 设备的最大配置时钟频率(以 MHz 为单位)。
然而,在 PC GPU 上运行相同的代码(在 NVIDIA 和 Intel GPU 上测试)会返回符合规范的预期时钟频率。
最佳答案
出于电源/热管理目的,CPU/GPU 时钟速度通常会受到限制。您的 GPU 可能处于低功耗模式。但是,如果您以编程方式更改电源模式,请注意不要超出电路板配置的规范。有时,这些开发板没有为最大时钟速率配备足够的散热器。
关于c - OpenCL : Querying max clock frequency of a mobile GPU always returns a lesser value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49546652/
我正在编写一个需要检测音频流中的频率的应用程序。我已经阅读了大约一百万篇文章,但在越过终点线时遇到了问题。通过 Apple 的 AVFoundation Framework,我可以通过此功能获得音频数
在一款RPG游戏中,假设有角色A和B。 A每秒将进行x次攻击 B每秒将进行y次攻击 如果我们假设 A 发起攻击,最终的攻击可能是: A A B A B ... 如何计算攻击顺序? 最佳答案 这是在 P
我正在为微 Controller 编写音调发生器程序。 我使用硬件计时器触发中断,并检查是否需要在特定时刻针对给定音符将信号设置为高电平或低电平。 我使用的硬件非常有限,所以我运行计时器的速度越慢,我
我在文本文件中有 500 个数值(范围从 1 到 25000)的原始观察,我想在 MATLAB 中进行频率分布。我确实尝试了直方图 (hist),但是我更喜欢频率分布曲线而不是 block 和条。 感
我正在学习Clojure,我在网上看到了这段代码: (count (filter #{42} coll)) 正如所述,它确实计算了 coll 中数字 42 的出现次数。 #{42} 是一个函数吗?关于
我想使用tf-idf计算词频。我起草了一个方程式,您应该在左侧获取tf-idf值。这样对吗? DOCUMENT的TF-IDF: tf-idf(WORD) = occurrences(WORD,DOCU
我正在使用 Stanford NLP Parsing 工具包。给定词典中的一个词,我如何找到它的频率*?或者,给定一个频率排名,我如何确定相应的词? *在整个语言中,而不仅仅是文本示例。 这是我正在使
public class ArrayStudentPoll { public static void main( String args[] ) { // array o
我想计算字典中每个值的数量,并构造一个以值作为键的新值,以及以所述值作为值的键列表。 Input : b = {'a':3,'b':3,'c':8,'d':3,'e':8} Output: c = {
此代码打印值“0”: String name = "aaa"; char[] mychar = new char[name.length()]; mychar = name.toCharArray()
那么,假设我有以下列表: List myList = getListFromSomePlace(); int frequency = Collections.frequency(myList, som
我有一个 list 要画。有没有办法显示部分 x 轴标签,例如 x[0], x[10], ...,但保持图形不变? x = ['alice', 'bob', ...] # string list, l
对于 Azure 搜索服务,我希望获得最接近实时的更新。我可以使用循环逻辑应用程序通过 REST API 执行它。 如果我非常频繁地调用逻辑应用程序(每 3 秒一次)。这种方法有什么问题吗? 索引器会
在 Excel 2010 中,A 列中有一个值列表,并且在 B1 中指定了 bin 大小。这允许我使用以下公式创建具有 N 个箱的直方图: {=频率(A:A,(ROW(INDIRECT("1:"&CE
具有以下功能: =FREQUENCY(C2:C724,D2:D37) 第二个参数是BIN 我不明白的是为什么 Excel 会增加其余值的 BIN。 BIN 没有改变!它保持同一个垃圾箱。然而,当我粘贴
为了简化我正在做的事情,让我们使用 learnfromexamples.com 中的示例我修改了一些位。 package test; import java.util.StringTokenizer;
有人可以向我解释一下,为了将这些元素添加到我的库存数组列表中,我做错了什么吗?问题是当我用 Collections.frequency 检查某个商品的库存时它继续说该项目的数量为零。 private
我正在尝试通过 android 设备的音频端口传输一些数据,我正在使用 FSK(频移键控)我正在使用两个不同的频率来表示 1 和 0。是否有任何 android 库或示例代码来 FSK 解码捕获的音频
我正在用 Java 实现“经验模式分解”。下一步是希尔伯特-黄变换,我需要找到如何获得“瞬时频率”。有人知道如何获得吗? 使用 EMD 方法,任何复杂的数据集都可以分解为有限且通常数量较少的分量,即固
我过去使用过 Collections.frequency 并且工作正常,但我现在遇到了问题,因为我使用的是 int[]。 基本上 Collections.frequency 需要一个数组,但我的数据是
我是一名优秀的程序员,十分优秀!