`
lovnet
  • 浏览: 6719877 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

一步步做程序优化【1】讲一个用于优化的程序

 
阅读更多

很经典的例子,矩阵的乘法。呵呵。。。

分析下A,B,C为三个矩阵,A为m*n维,B为n*k维,C为m*k维,用A和B来计算C,计算方法是:C = alpha*A*B + beta*C。它的程序如下:

// C = alpha*A*B + beta*C
void mySgemm(int m, int n, int k, float alpha, float beta,\
			 float *A,  float *B, float *C)
{
	int i, j, l;
	float ab;
	for(j = 0; j < m; j++) 
	{
		for(i = 0 ;i < k ;i++)
		{
			ab = 0.0f;
			for(l = 0 ;l < n ;l++)
			{
				ab += A[j*n+l] * B[l*k+i];
			}
			C[j*k+i] = alpha*ab + beta*C[j*k+i];
		}
	}
}


这个程序修改自HMPP_Tutorial_Labs_CUDA中的lab0。

C中的每个元素的计算是独立的,完全可以并行化。后面的系列文章将会讲述优化这个程序的整个过程。

分享到:
评论

相关推荐

    Effective MySQL之SQL语句最优化

    本书希望能够通过一步步详细介绍SQL优化的方法,帮助读者分 析和调优有问题的SQL语句。 主要内容 ● 找出收集和诊断问题必备的分析命令 ● 创建MySQL索引来改进查询性能 ● 掌握MySQL的查询执行计划 ● 找...

    EffectiveMySQL之SQL语句最优化

    资源名称:Effective MySQL之SQL语句最优化内容简介:《EffectiveMySQL之SQL语句最优化》提供了很多可以用于改进数据库和应用程序性能的最佳实践技巧,并对这些技巧做了详细的解释。《EffectiveMySQL之SQL语句最优化...

    Effective MySQL之SQL语句最优化(高清)

    《Effective MySQL之SQL语句最优化》提供了很多可以用于改进数据库和应用程序性能的最佳实践技巧,并对这些技巧做了详细的解释。《Effective MySQL之SQL语句最优化》希望能够通过一步步详细介绍SQL优化的方法,帮助...

    《Effective MySQL之SQL语句最优化》PDF

    《EffectiveMySQL之SQL语句最优化》提供了很多可以用于改进数据库和应用程序性能的最佳实践技巧,并对这些技巧做了详细的解释。《EffectiveMySQL之SQL语句最优化》希望能够通过一步步详细介绍SQL优化的方法,帮助...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java编写的显示器显示模式检测程序 2个目标文件 内容索引:JAVA源码,系统相关,系统信息检测 用JAVA编写了一个小工具,用于检测当前显示器也就是显卡的显示模式,比如分辨率,色彩以及刷新频率等。 Java波浪文字制作...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java编写的显示器显示模式检测程序 2个目标文件 内容索引:JAVA源码,系统相关,系统信息检测 用JAVA编写了一个小工具,用于检测当前显示器也就是显卡的显示模式,比如分辨率,色彩以及刷新频率等。 Java波浪文字制作...

    java源码包---java 源码 大量 实例

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    java源码包2

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

    java源码包3

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

    java源码包4

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    DBX260中文说明书

    要想在一个程序配置中漫游,可通过使用DriveRackTM 260奇才设置优化你的系统,DriveRackTM 260的这个特性使系统设置更快捷、更精确。奇才菜单提供系统设置、自动EQ和AFS/Advanced Feedback Suppression(先进的反馈...

    django-docs-2.2-zh-hans.zip

    教程 通过手把手地方式教你一步步的创建一个 Web 应用。如果你初学 Django 或编程,请从这里开始。也请看看下面的 "快速入门"。 专题指南 在相当高的层次上介绍关键主题和概念,并提供有用的背景信息和解释。 参考...

    MolyX Board 2.1.2 SP1标准版+mBLOG 1.0 标准版

    9、更为强大的系统核心设置——一百多项系统核心设置也许使你有些发懵,但只要你一步步 熟悉了 MXB,根据提示进行修改,强大的系统核心定可让你在论坛管理上高枕无忧。 10、超级IP数据管理模块——...

    数据运营思维导图

    需要有一个间隔时间,30秒内多次启动只能计算为1次 解决问题 衡量用户粘度,数值越大越好 识别优质渠道,渠道是否存在刷量 什么渠道/用户启动次数多 日均使用时长 定义 活跃用户每日平均在线时长 解决问题 ...

    2019数据运营思维导图

    忠实用户 连续3周登录的用户 目前分析价值不大 用户活跃 启动次数(时、日、周、月) 每日启动1次计算为1次启动 需要有一个间隔时间,30秒内多次启动只能计算为1次 解决问题 衡量用户粘度,数值越大越好 识别优质...

    Activiti6.0教程例子下载

    以上部分对工作流、BPMN、Activiti的概念做了一个简单的介绍,目的是了解Activiti究竟是什么,能做些什么…及在学习Activiti之前需要了解的知识与技术。其中大部分文字来自Copy网上的各种资料与文档,通过总结而来的...

Global site tag (gtag.js) - Google Analytics