标签: cpu

GCC可以编译的最小,最简单的CPU是什么?

在指令集和仿真的简单性方面.我想实现一个虚拟CPU,并想出为什么不模拟现有的,所以能够编译C代码.

cpu gcc emulation

17
推荐指数
3
解决办法
5924
查看次数

符合OpenCL标准的CPU/GPU列表

我怎么知道OpenCL可以编程哪个CPU?例如,奔腾E5200.有没有办法知道没有运行和查询它?

cpu opencl

17
推荐指数
3
解决办法
7万
查看次数

使用javascript检测设备CPU/GPU性能?

(问题不是特定于three.js,但我会以它为例)

我最近一直在使用three.js开发一个Web应用程序界面,并在WebGL和Canvas渲染器(用于桌面浏览器)之间编写了一些很好的回退.

但现在问题变成了如何正确检测设备功能,问题有两个方面:

  1. 浏览器功能(静态功能,如webgl/canvas):这在很大程度上是通过简单的功能检测在Web社区中解决的.
  2. 设备功能:这是困难的部分,如果没有直接访问设备的硬件信息,我们需要一些方法来判断我们是否应该回退到硬件要求较低的代码.

一个值得注意的例子:Firefox移动/ Opera移动声称支持WebGL但是有缺陷或受到设备硬件的限制.

到目前为止我提出了一些解决方法:

  1. 使用通用功能作为性能指标 - 例如,触摸设备通常具有不太强大的硬件.骗局:这不是面向未来的.
  2. 黑名单已知错误的浏览器/设备 - UA嗅探将是不可避免的,并且它很难维护.
  3. 性能测试 - 因此问题除了运行代码和测量帧率之外,还有更好的选择吗?

或者也许它不一定很难,还有其他建议吗?

javascript cpu performance html5 three.js

17
推荐指数
2
解决办法
6367
查看次数

将GPU计算结果返回到OpenGL中的CPU程序

有没有办法将运行在GPU上的着色器的结果返回到CPU上运行的程序?

我想基于GPU上的计算成本高的算法从简单的体素数据生成多边形网格,但我需要在CPU上进行物理计算.

opengl cpu shader video-card

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

抛出异常是谁的责任?操作系统或流程?

从操作系统的角度来看,异常如何运作?

来自C++,我可以从程序员的角度理解异常.
抛出异常时,堆栈开始展开,每个激活记录都有机会捕获并处理异常.

但是,他们的责任是首先抛出异常?

  1. 操作系统是否向进程发送触发器,告诉它进入"异常处理状态"?
  2. 进程是否在其自己的程序空间中调用和处理异常,并未向操作系统发布?

这是两个崩溃的程序,说明了我的不确定性.

int main(){

    int i = 1/0; //did the OS tell the process to end?

    return 0;
}
Run Code Online (Sandbox Code Playgroud)
#include <exception>

int main(){

    throw 11;  //did the process tell the OS it needs to end?

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ cpu operating-system exception-handling exception

17
推荐指数
3
解决办法
1437
查看次数

堆栈是CPU还是RAM?

我有一些关于堆栈的问题.

  1. 堆栈是CPU还是RAM?
  2. 堆栈是运行OPcode的地方吗?
  3. EIP是CPU还是RAM?

memory cpu stack opcode eip

17
推荐指数
3
解决办法
1万
查看次数

关联性使我们具有可并行性.但是,交换性给了什么?

亚历山大·斯捷潘诺夫在A9的一篇精彩讲座(强烈推荐,顺便说一句)中指出,关联属性为我们提供了可并行性 - 这些日子是编译器,CPU和程序员自己可以利用的非常有用和重要的特性:

// expressions in parentheses can be done in parallel
// because matrix multiplication is associative
Matrix X = (A * B) * (C * D);
Run Code Online (Sandbox Code Playgroud)

但是,交换性财产给我们带来了什么?重新排序?乱序执行?

math parallel-processing cpu cpu-architecture compiler-optimization

17
推荐指数
2
解决办法
931
查看次数

是否可以在Chrome DevTools中设置自定义CPU限制?

我使用的是Google Chrome 63.

Performance选项卡的DevTools中,有三种CPU限制设置:" 无限制","4x减速"和"6x减速".

是否可以设置自定义限制,例如"20x减速"?它可以通过在chrome.exe文件中设置一些标志或通过NodeJS库以编程方式设置.

我发现Lighthouse库有一些有用的功能,但如果我将其中的默认值(CPU_THROTTLE_METRICS似乎等于4)从4更改为(例如)20并运行它,我怎么能确定它真的是20x减速下?

另外,我想知道,如果有可能以类似的方式对GPU进行模拟"减速"吗?

谢谢你的建议.

cpu throttling google-chrome-devtools

17
推荐指数
2
解决办法
3842
查看次数

如何一致占用80%的CPU?

我正在寻找一种方法,以一致的方式占用单个CPU的80%(或任何其他数量).
我需要这个用于测试在特定CPU利用率条件下触发的组件的单元测试.
为此,我可以假设机器处于空闲状态.

什么是强大的,可能是独立于操作系统的方法呢?

cpu performance unit-testing

16
推荐指数
2
解决办法
1745
查看次数

在C++中,使用std :: min或if分支限制值是否更好?

编程中一种非常常见的模式是在某种更新后将值限制在最大值.我想知道的是,如果以下两段代码之间存在差异,并且是否应该首选:

value += increment;
value = std::min(value, valueMax);
Run Code Online (Sandbox Code Playgroud)

VS

value += increment;

if (value > valueMax)
    value = valueMax;
Run Code Online (Sandbox Code Playgroud)

我的想法是,这取决于CPU是否有获取两个值并产生最小值的指令.如果是这样,对std :: min的调用应该导致该指令并避免不必要的分支.如果不是,则第二个版本在值<= valueMax时避免不必要的赋值.

我对这种事情不是很了解,但我确信有老派的黑客大佬会知道这一点.我问他们:哪个更好?

c++ cpu instruction-set minimum

16
推荐指数
2
解决办法
3612
查看次数