OpenCL:MQL5中的内部实现测试 - 页 40 1...333435363738394041424344454647...70 新评论 Vladimir Gomonov 2012.03.21 08:51 #391 joo:1.电脑游戏不关心GPU的温度,把它加载到最大,什么也不发生--显卡在工作。2.在这种情况下,还需要MQL-功能返回CPU温度。:),否则处理器可能会被烧毁。3.- 当然,这不会有什么影响。1.你怎么知道他们不关心?这不是一个事实。有些人可能不关心。而且论坛上有很多人在玩具上烧了卡。 GeForce GTX 590附带的驱动程序可能会烧毁显卡。 瑞典发烧友不得不发现,GeForce GTX 590 驱动版本267.52可能会损坏高端GeForce GTX590。第一张双处理器3D卡在试图超频时烧毁了。鉴于GPU电压被超频了,实验者决定看看第二块GPU会有什么表现--它也遭遇了同样的命运。 通过获得英伟达的帮助,无情的瑞典人成功地找出了故障的原因是驱动程序中的一个错误,它使过载保护无法启动。 在一个指导性的视频中记录了卡片失效的过程: 要从我们的服务器下载文件,请注册。 用新的驱动程序 版本--267.71--重新进行了测试。它证实,该错误已被修复,保护机制也在发挥作用。不幸的是,这些卡附带的驱动程序出现了错误。应该注意的是,该保护机制不仅适用于那些用户正在进行频率和电压实验的情况。在正常使用过程中,也可能出现异常情况,在这种情况下,用户的唯一希望就是开发商规定的补救措施。 建 议爱好者们 千万不要安装捆绑的驱动程序,而是从NVIDIA网站上下载一个较新的版本。此外,超频爱好者应确保PC机箱内有良好的通风。 2.我不反驳这一点。但这并不那么关键--当处理器过热时,Windows会崩溃成蓝屏。这是不愉快的,但它没有比较。:)3.这绝对是可以实现的--有很多程序都在监测卡的温度和 其他参数。(我已经有四个了。)不知怎的,他们得到了这些信息,不是吗?另外,有传言说在高温下,卡片开始计算错误。在玩具中,它并不关键,但在某种程度上是不可取的。 Andrey Dik 2012.03.21 09:06 #392 卡片烧毁的原因是显卡驱动程序的错误,这些驱动程序有内置的过载保护机制,而不是因为运行在GPU上的软件没有控制温度。并非任何人都能免受驱动错误的影响,即使没有应用程序在GPU上运行,显卡仍有可能因驱动错误而烧毁。你不必担心--将你的硬件加载到最大限度,即使你很努力,也不会发生什么坏事。现代硬件都有防止过载的保护系统,包括CPU和GPU。把冷却器从CPU上拆下来就能引起火灾的日子已经一去不复返了。 Mykola Demko 2012.03.21 13:03 #393 joo 2012.03.21 09:06 # 显卡被烧毁的原因是有内置过载保护机制的显卡驱动程序的错误,而不是因为运行在GPU上的软件没有监控温度。任何人都不可能对驱动错误免疫,即使没有任何应用程序在GPU上运行,该卡也有可能因驱动错误而烧毁。 你不必担心--将你的硬件加载到最大限度,即使你很努力,也不会发生什么坏事。现代硬件都有防止过载的保护系统,包括CPU和GPU。 从CPU上拆下散热器就会引发火灾的时代已经过去了。 我同意,温度控制是一个低级别的实用任务(甚至可能是一个硬件任务)。 用高级语言编写的软件来控制温度是一种自杀式的做法。 Andrey Dik 2012.03.21 13:21 #394 有谁试过这个GPU的欺凌。以平行循环方式运行,每个循环100000000(一亿)次迭代。你有什么印象?//+------------------------------------------------------------------+ //| OpenCLTest.mq5 | //| Copyright 2011, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2011, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" //—————————————————————————————————————————————————————————————————————————————— const string cl_src= "__kernel void MFractal( \r\n" " __global int *out \r\n" " ) \r\n" " { \r\n" " int i = get_global_id(0); \r\n" " for(int u=0;u<100000000;u++) \r\n" " { \r\n" " out[i]+=u; \r\n" " if(out[i]>10000) \r\n" " out[i]=0; \r\n" " } \r\n" " out[i]+= i; \r\n" " } \r\n"; //—————————————————————————————————————————————————————————————————————————————— #define BUF_SIZE 480 //—————————————————————————————————————————————————————————————————————————————— void OnStart() { int cl_ctx; // идентификатор контекста int cl_prg; // идентификатор программы int cl_krn; // идентификатор ядра int cl_mem; // идентификатор буфера //---------------------------------------------------------------------------- //--- инициализируем OpenCL объекты if((cl_ctx=CLContextCreate(false))==0) { Print("OpenCL not found"); return; } if((cl_prg=CLProgramCreate(cl_ctx,cl_src))==0) { CLContextFree(cl_ctx); Print("OpenCL program create failed"); return; } if((cl_krn=CLKernelCreate(cl_prg,"MFractal"))==0) { CLProgramFree(cl_prg); CLContextFree(cl_ctx); Print("OpenCL kernel create failed"); return; } if((cl_mem=CLBufferCreate(cl_ctx,BUF_SIZE*sizeof(float),CL_MEM_READ_WRITE))==0) { CLKernelFree(cl_krn); CLProgramFree(cl_prg); CLContextFree(cl_ctx); Print("OpenCL buffer create failed"); return; } //---------------------------------------------------------------------------- //--- подготовимся к выполению uint offset[1]={0}; uint work [1]={BUF_SIZE}; //--- выставляем неизменяемые параметры функции OpenCL //CLSetKernelArg (cl_krn,4,max); CLSetKernelArgMem(cl_krn,0,cl_mem); //--- подготовим буфер для вывода пикселей uint buf[]; ArrayResize(buf,BUF_SIZE); uint x=GetTickCount(); //--- выставляем плавающие параметры //CLSetKernelArg(cl_krn,0,x0); //CLSetKernelArg(cl_krn,1,y0); //CLSetKernelArg(cl_krn,2,x1); //CLSetKernelArg(cl_krn,3,y1); //--- считаем на GPU CLExecute(cl_krn,1,offset,work); //--- забираем данные из буфера CLBufferRead(cl_mem,buf); //--- выведем время расчётов Print(IntegerToString(GetTickCount()-x)+" msec"); /* //--- посмотрим ка что там насчитал нам GPU for(int i=0;i<BUF_SIZE;i++) { Print(buf[i]); } */ //--- удаляем объекты OpenCL CLBufferFree (cl_mem); CLKernelFree (cl_krn); CLProgramFree(cl_prg); CLContextFree(cl_ctx); } //——————————————————————————————————————————————————————————————————————————————2012.03.21 18:20:36 Tast Mand_ (EURUSD,H1) 5741 msec2012.03.21 18:15:53 终端 CPU: GenuineIntel(R) Core(TM) i5-2500 CPU @ 3.30GHz with OpenCL 1.1 (4 units, 3311 MHz, 8174 Mb, version 2.0)2012.03.21 18:15:53 终端 GPU: 英伟达公司 GeForce GTX 570 with OpenCL 1.1 (15单元, 1464 MHz, 1280 Mb, 版本 296.10) 附加的文件: Tast_Mand_.mq5 4 kb 测试日志 - 算法交易, 交易机器人 Sceptic Philozoff 2012.03.21 14:05 #395 MetaDriver: 另外,有传言说,在更高的温度下,卡片开始出现误导。 是因为苍蝇的大量死亡还是什么? Andrey Dik 2012.03.21 14:13 #396 Mathemat: 是苍蝇的死亡还是什么? 尝试运行测试(见我上面的帖子)。屏幕是否冻结,鼠标指针是否移动? Vladimir Gomonov 2012.03.21 14:16 #397 Mathemat: 是不是因为苍蝇快死了还是什么?这是不可能的,因为大部分过程是可逆的。电子-空穴等离子体波动...(哦,怎么会!)。个别位子偶尔会有点击。你和我的路都走不通。:)在这种情况下,一系列运行之间的几千毫秒可以使温度至少保持在82℃。我已经把它放进去了,但好在你需要灵活地根据需要把它放进去,温度阈值可以通过程序设置。 Sceptic Philozoff 2012.03.21 14:40 #398 joo: 尝试运行测试(见我上面的帖子)。屏幕是否冻结,鼠标指针是否移动?我没有像你这样强大的硬件。 我现在就试试,不过我还是把AMD的驱动插回去吧。 Andrey Dik 2012.03.21 14:46 #399 Mathemat:我没有像你这样强大的硬件。 我现在就试试,但我要把AMD的驱动放回去。 顺便说一下,我现在已经为我的CPU安装了AMD的OpenCL驱动--我不得不把它装进去,因为英特尔的驱动安装时没有任何错误,但处理器没有被检测到是OpenCL设备。 Dmitriy Parfenovich 2012.03.21 14:50 #400 2012.03.21 15:45:49 Tast_Mand_ (EURUSD,H1) 16801 msec 2012.03.21 15:42:19 Terminal CPU: AuthenticAMD AMD Athlon(tm) II X4 630 Processor with OpenCL 1.1 (4 units, 2998 MHz, 2048 Mb, version 2.0) 2012.03.21 15:42:19 Terminal GPU: NVIDIA Corporation GeForce GT 440 with OpenCL 1.1 (2 units, 1660 MHz, 1024 Mb, version 295.73) 没有注意到显卡的任何压力,它的运行和点击。在测试过程中打开了调度器,也很好,没有滞后,只是测试时间变成了17秒。 1...333435363738394041424344454647...70 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
1.电脑游戏不关心GPU的温度,把它加载到最大,什么也不发生--显卡在工作。
2.在这种情况下,还需要MQL-功能返回CPU温度。:),否则处理器可能会被烧毁。
3.- 当然,这不会有什么影响。
1.你怎么知道他们不关心?这不是一个事实。有些人可能不关心。而且论坛上有很多人在玩具上烧了卡。
GeForce GTX 590附带的驱动程序可能会烧毁显卡。
在一个指导性的视频中记录了卡片失效的过程:
要从我们的服务器下载文件,请注册。
用新的驱动程序 版本--267.71--重新进行了测试。它证实,该错误已被修复,保护机制也在发挥作用。不幸的是,这些卡附带的驱动程序出现了错误。应该注意的是,该保护机制不仅适用于那些用户正在进行频率和电压实验的情况。在正常使用过程中,也可能出现异常情况,在这种情况下,用户的唯一希望就是开发商规定的补救措施。
建
议爱好者们 千万不要安装捆绑的驱动程序,而是从NVIDIA网站上下载一个较新的版本。此外,超频爱好者应确保PC机箱内有良好的通风。
2.我不反驳这一点。但这并不那么关键--当处理器过热时,Windows会崩溃成蓝屏。这是不愉快的,但它没有比较。:)
3.这绝对是可以实现的--有很多程序都在监测卡的温度和 其他参数。(我已经有四个了。)不知怎的,他们得到了这些信息,不是吗?
另外,有传言说在高温下,卡片开始计算错误。在玩具中,它并不关键,但在某种程度上是不可取的。
卡片烧毁的原因是显卡驱动程序的错误,这些驱动程序有内置的过载保护机制,而不是因为运行在GPU上的软件没有控制温度。
并非任何人都能免受驱动错误的影响,即使没有应用程序在GPU上运行,显卡仍有可能因驱动错误而烧毁。
你不必担心--将你的硬件加载到最大限度,即使你很努力,也不会发生什么坏事。现代硬件都有防止过载的保护系统,包括CPU和GPU。把冷却器从CPU上拆下来就能引起火灾的日子已经一去不复返了。
显卡被烧毁的原因是有内置过载保护机制的显卡驱动程序的错误,而不是因为运行在GPU上的软件没有监控温度。
任何人都不可能对驱动错误免疫,即使没有任何应用程序在GPU上运行,该卡也有可能因驱动错误而烧毁。
你不必担心--将你的硬件加载到最大限度,即使你很努力,也不会发生什么坏事。现代硬件都有防止过载的保护系统,包括CPU和GPU。 从CPU上拆下散热器就会引发火灾的时代已经过去了。我同意,温度控制是一个低级别的实用任务(甚至可能是一个硬件任务)。
用高级语言编写的软件来控制温度是一种自杀式的做法。
有谁试过这个GPU的欺凌。
以平行循环方式运行,每个循环100000000(一亿)次迭代。
你有什么印象?
2012.03.21 18:20:36 Tast Mand_ (EURUSD,H1) 5741 msec
2012.03.21 18:15:53 终端 CPU: GenuineIntel(R) Core(TM) i5-2500 CPU @ 3.30GHz with OpenCL 1.1 (4 units, 3311 MHz, 8174 Mb, version 2.0)
2012.03.21 18:15:53 终端 GPU: 英伟达公司 GeForce GTX 570 with OpenCL 1.1 (15单元, 1464 MHz, 1280 Mb, 版本 296.10)
是苍蝇的死亡还是什么?
是不是因为苍蝇快死了还是什么?
这是不可能的,因为大部分过程是可逆的。电子-空穴等离子体波动...(哦,怎么会!)。个别位子偶尔会有点击。你和我的路都走不通。:)
在这种情况下,一系列运行之间的几千毫秒可以使温度至少保持在82℃。
我已经把它放进去了,但好在你需要灵活地根据需要把它放进去,温度阈值可以通过程序设置。
我没有像你这样强大的硬件。
我现在就试试,不过我还是把AMD的驱动插回去吧。
我没有像你这样强大的硬件。
我现在就试试,但我要把AMD的驱动放回去。