OpenCL性能对比测试案例,合理使用clfinish()函数,充分发挥指令队列(commandqueue)特性。

本文通过一个矩阵加法的测试案例分析OpenCL的性能。在取消调用clfinish()函数后,GPU性能显著提升,表明在处理复杂计算任务时,应合理利用指令队列以避免不必要的等待,从而提高计算效率。优化后,LSTM项目计算性能翻倍,证明正确编程对发挥计算机性能的重要性。
摘要由CSDN通过智能技术生成

用的公司的电脑,配置如下:

CPU: AMD Athlon X4 830 (3.0GHz 四核)

内存: 8GB


GPU: nVIDIA GT710 (0.954GHz 192cores 1CU)

显存: 1GB


上图,浮点性能测试。


CPU的 float 浮点性能 91.95GFlops。GPU为 320.1GFlops。浮点数计算 GPU领先 3倍多。

然而 这是面对简单计算任务的情况。算是理想性能,不是项目的实际情况。


----------------------------

下面上案例分析:这是一个矩阵加法的测试项目。水平有限,性能一般般。两个矩阵相加,重复1000次。评估单次计算的耗时。

 /// <summary>
        /// func opencl特性测试,host to gpu 传输特性。
        /// </summary>
        [TestMethod]
        public void NC07_gpu()
        {
            string code = OpenCLMode.OCL.oclModel.LoadCode(filename);
            oclm = new OpenCLMode.OCL.oclModel(code);

            int i = 100, j = 100;

            float[,] A = new float[i, j];
            float[,] B = new float[i, j];
            float[,] C = new float[i, j];
            RandomData(A);//产生随机数据
            RandomDa
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值