gpt4 book ai didi

c - 使用所有PC资源进行密集计算

转载 作者:行者123 更新时间:2023-11-30 19:21:14 24 4
gpt4 key购买 nike

我正在用 C 编写一个小脚本,它将生成随机数。当我运行它 60 秒时,它只生成 1700 万个数字,在我的 PC 任务管理器中,我看到它使用了几乎 0% 的资源。

有人可以给我一段代码或链接,让我可以使用我的电脑的全部资源在几秒钟内生成数万亿个随机数吗?也许是多线程?

注意:如果您知道一种简单的方法(无需繁重的 CUDA SDK)来使用 Nvidia GPU 而不是 CPU,那也很好!

编辑

这是我的代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

char getRandLetter(void);

int main()
{
int i,num=0,p=0;
char randhash[12];

time_t start,stop;
start = time(NULL);
while(1) {
for(i=0; i<12; i++){
randhash[i]=getRandLetter();
}
num++;
stop = time(NULL);
double diff = difftime(stop, start);
if (diff >= 60) {
printf("60 seconds passed... NUM=%d", num);
start = time(NULL);
break;
}
}
return 0;
}

char getRandLetter() {
static int range = 'Z'-'A'+1;
return rand()%range + 'A';
}

注意:我有一台配备 i7 的 killer 级电脑和一台 killer 级 geforce :p 所以我只需要利用这些资源。

最佳答案

生成随机数不应受 CPU 限制。生成随机数的函数通常会调用系统内核,系统内核从物理熵源(网络、键盘、鼠标等)获取随机数。您能做的最好的计算就是伪随机数。

实际上,应该有办法使用更多的 CPU 来更快地生成“随机”数,但这些随机数的质量不如从物理熵源中提取的随机数(并且使用这些源并不尽可能地弯曲 CPU),因为 CPU 往往具有相当的确定性(正如它们应该的那样)。

一些附加信息: http://en.wikipedia.org/wiki/Random_number_generation

关于c - 使用所有PC资源进行密集计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20318231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com