当前位置: 首页 > news >正文

郑州营销型网站设计广告公司营销策划方案

郑州营销型网站设计,广告公司营销策划方案,制作h5,代做百度收录排名前几天技术大牛Vczh同学开发了一个函数图像绘制程序#xff0c;可以画出方程f(x,y)0的图像。他的原理是用图像上每一点的坐标带入函数f得到针对x和y的两个方程#xff0c;再用牛顿迭代法求解得到一组点集#xff0c;然后画到图像上。用他的程序可以画出各种各样令人惊叹的方…前几天技术大牛Vczh同学开发了一个函数图像绘制程序可以画出方程f(x,y)0的图像。他的原理是用图像上每一点的坐标带入函数f得到针对x和y的两个方程再用牛顿迭代法求解得到一组点集然后画到图像上。用他的程序可以画出各种各样令人惊叹的方程图形。但是他的程序非常慢因为对每一个点坐标都用牛顿迭代法求解是一项很费时的任务即使采用了Parallel.ForCPU算起来也很吃力。我研究了他的程序之后觉得可以用擅长并行计算的显卡来加速迭代法求解的过程。用OpenCL来完成这个任务再合适不过了。 整个过程还是相当顺利的完全在Vczh原始程序的基础上改成。仅稍微改变了策略。步骤如下 解析输入函数f之后分别生成∂f/∂x和∂f/∂y两个偏导数然后将这三个二元函数转化为合法的OpenCL表达式。 用OpenCL实现牛顿迭代法。 将图像上的每一点分派到一个OpenCL线程然后由无数并行的OpenCL线程计算自己的点。 其中OpenCL代码如下 fp_t func(fp_t x, fp_t y) { return {动态生成}; }fp_t df_dx(fp_t x, fp_t y) {return {动态生成}; }fp_t df_dy(fp_t x, fp_t y) {return {动态生成}; }fp_t solvex(fp_t start, const fp_t consty) {for (int i 0; i MAX_ITER; i){fp_t result func(start, consty);if (result EPSILON result -EPSILON){return start;}fp_t d df_dx(start, consty);if (d EPSILON d -EPSILON){return NAN;}else{start - result / d;}}return NAN; }kernel void ComputeX(global write_only fp_t* points,int unit,int width,int cx,int cy,float origin_x,float origin_y) {int gx get_global_id(0);int gy get_global_id(1);uint write_loc gx gy * width;fp_t py origin_y (fp_t)(gy 1 - cy) / unit;fp_t px origin_x (fp_t)(cx - gx - 1) / unit;points[write_loc] solvex(px, py); }这是求解f(x, a) 0部分的代码求解f(b, y) 0的与之基本一样。其中fp_t是根据情况定义的typedef可能是float或double。因为不是所有的OpenCL设备都支持双精度浮点所以要写成通用类型的算法用宏来控制。 在.NET中使用OpenCL最容易的方法当然是使用Cloo库。Coo库完整地封装了OpenCL1.1的所有函数并且是.NET非常容易使用的对象模型。我只使用了一次Cloo和OpenCL就再也不想忍受DirectX ComputeShader那麻烦的要死的类库。。 我的程序源代码已经完全上传到github。地址是https://github.com/Ninputer/opencl-plot 点击Download即可打包下载所有代码。想直接运行的朋友可以点击此处下载二进制文件包。 要想运行这个程序你必须安装了OpenCL的实现平台。目前Windows上的OpenCL主要有NVidia、AMD和Intel几家提供的实现平台。如果你有一块比较新的NVidia或AMD显卡那么只需要装了最新的驱动包就自带了OpenCL。以下显卡支持双精度浮点NVidia GeForce 200系列、400系列、500系列显卡AMD Radeon HD 5800、5900、6900系列。其中Radeon 6900系列尚不支持官方双精度浮点数cl_khr_fp64扩展所以本程序也支持cl_amd_fp64双精度浮点扩展功能上完全一样。G80和RV770等架构的显卡以及AMD中低端显卡只能支持单精度浮点数绘制时的精度可能会略差。 没有支持OpenCL显卡的同学也可以用多核CPU来进行OpenCL计算仍然要比原始的C#版本快一些。如果使用Intel Core i3、i5、i7系列CPU可以使用Intel OpenCL SDK下载地址http://software.intel.com/en-us/articles/opencl-sdk/ 其他多核CPU都可以使用AMD APP SDK下载地址http://developer.amd.com/sdks/AMDAPPSDK/downloads/Pages/default.aspx 启动程序后允许先选择OpenCL计算平台和设备如果安装了多个OpenCL平台可以任意选择。目前本程序暂时不支持多显卡并联技术SLI、Crossfire。NVidia CUDA平台界面示例 AMD APP平台界面示例 Intel OpenCL平台界面示例 现在输入方程充分发挥你的想象力吧 注意采用显卡计算时最好不要进行游戏用IE9浏览网页等负荷过重时可能会导致GPU重置。如果某些公式运算量太大或显卡较为低端也容易导致GPU重置请务必用Windows 7和Vista来进行实验因为WDDM驱动模型更加稳定用XP容易蓝屏。
http://www.zqtcl.cn/news/642081/

相关文章:

  • 控制网站的大量访问关于实验室建设的英文网站
  • 中国容桂品牌网站建设怎么自己做个网站做链接跳转
  • 安徽省建设工程协会网站昆明官网seo厂家
  • 品牌整合推广搜狗优化好的网站
  • 娄底手机网站制作深圳网站建设怎么做
  • 好的龙岗网站建设附近装修公司电话和地址
  • 网站后台生成文章很慢网络营销毕业设计
  • 如何把资料上传到网站什么叫高端网站定制
  • 郑州企业网站建设团队什么是交换链接
  • 如何建立一个外贸公司网站活动营销的方式有哪些
  • 上海工程造价咨询公司余姚网站seo运营
  • 小加工厂做网站wordpress免费主题破解版
  • 网站打开风险怎么解决企业建设网站网站建设公司
  • 随州网站建设公司wordpress怎样上传主题
  • 做外链等于网站更新么台州椒江网站建设
  • 自己搭建一个博客网站网络营销是什么大类
  • 10元网站备案php企业网站开发实训报告
  • 建筑网站设计大全wordpress模板死循环
  • 网站优化排名软件泌阳网站建设
  • 网站反向绑定域名企业网站的建立网络虚拟社区时对于企业
  • 重庆大渡口网站建设解决方案梓潼 网站建设 有限公司
  • 高端平面网站东营住房和城乡建设厅网站
  • 品牌网站建设e小蝌蚪易时代网站
  • 做搜狗手机网站点击软网站建设有哪些种类
  • 想自学做网站太原要做网站的公司
  • 站内seo优化淘宝网站推广策划方案
  • 福建建设执业注册中心网站网址格式怎么写
  • 网站开发外包公司坑襄垣城乡建设管理局的网站
  • 网络公司怎么做网站常州新北区网站建设
  • 扬州专业外贸网站建设推广做详情页上什么网站找素材