哲思官方群认证群组  - 讨论区

标题:[zeuux-universe] 介绍OpenBLAS开源项目兼招人

2011年11月23日 星期三 12:01

Xianyi Zhang traits.zhang在gmail.com
星期三 十一月 23 12:01:28 CST 2011

各位:

接受建议,新开个楼介绍OpenBLAS,呵呵。

http://xianyi.github.com/OpenBLAS/ <http://xianyi.github.com/OpenBLAS/>

主要是做开源的高性能BLAS库。
BLAS是科学计算中的基础函数库,各大CPU厂商都会提供优化实现,比如Intel公司 
的 MKL,AMD公司的ACML,IBM公司的ESSL等。开源实现,主要有两个,一个是美国 
田纳西大学做的ATLAS,采 用的自适应优化的技术做的。另外一个是GotoBLAS,是 
由美国德州大学奥斯汀分校的TACC的后藤开发的,使用的C+核 心汇编的方法。

GotoBLAS的性能非常好,在Intel CPU上可以与MKL相当,有时候还会快点。但是后 
藤大牛,在去年(还是前年?)已 经跳槽去微软了。所以GotoBLAS已经停止开发 
了。TACC就把GotoBLAS以BSD协议放出来了。

我们就基于GotoBLAS BSD版,分支出来一份OpenBLAS。当前的主要进展:
1)优化龙芯3A CPU上的性能,目前是已知最好的性能。
2)修正一些x86平台上的bug,比如一些计算错误,SEGFAULT之类
3)一些细微的增强

未来的计划:
1)优化Intel SandyBridge CPU,需要用到AVX指令,争取能做到与MKL性能相当。
2)继续龙芯3B CPU的优化
3)调整下makefile系统,希望用CMake或者autotool工具 (××××我们在这方面的 
基础为0)

希望大家对这个project感兴趣。我们现在需要人手,进行Linux x86平台上的开发 
(需要汇编),makefile系统调整,windows上ming-w32/ming-w64的测试和 
debug,Mac OS上系统的测试和debug。

其中x86平台上,我们可以提供Intel Sandybridge架构机器的远程登录,进行性能 
优化。

谢谢

Xianyi
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <http://www.zeuux.org/pipermail/zeuux-universe/attachments/20111123/d9c8e0b8/attachment.html>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年11月23日 星期三 16:16

lenky0401 lenky0401在163.com
星期三 十一月 23 16:16:45 CST 2011

感觉OpenBLAS有点靠学术科研,一般人用不到吧?最好能靠近工业实用的开源,比如最著名的LVS,或者兼容两者的,比如高性能正则表达式库(学术上可以研究算法、并行处理,工业上也有很多地方可以实用),等。


2011-11-23



lenky0401



发件人: Xianyi Zhang <traits.zhang在gmail.com>
发送时间: 2011-11-23 12:01
主 题: [zeuux-universe] 介绍OpenBLAS开源项目兼招人
收件人: zeuux-universe在zeuux.org



各位:

接受建议,新开个楼介绍OpenBLAS,呵呵。

http://xianyi.github.com/OpenBLAS/

主要是做开源的高性能BLAS库。 
BLAS是科学计算中的基础函数库,各大CPU厂商都会提供优化实现,比如Intel公司的 MKL,AMD公司的ACML,IBM公司的ESSL等。开源实现,主要有两个,一个是美国田纳西大学做的ATLAS,采 用的自适应优化的技术做的。另外一个是GotoBLAS,是由美国德州大学奥斯汀分校的TACC的后藤开发的,使用的C+核 心汇编的方法。

GotoBLAS的性能非常好,在Intel CPU上可以与MKL相当,有时候还会快点。但是后藤大牛,在去年(还是前年?)已 经跳槽去微软了。所以GotoBLAS已经停止开发了。TACC就把GotoBLAS以BSD协议放出来了。

我们就基于GotoBLAS BSD版,分支出来一份OpenBLAS。当前的主要进展:
1)优化龙芯3A CPU上的性能,目前是已知最好的性能。
2)修正一些x86平台上的bug,比如一些计算错误,SEGFAULT之类 
3)一些细微的增强

未来的计划:
1)优化Intel SandyBridge CPU,需要用到AVX指令,争取能做到与MKL性能相当。
2)继续龙芯3B CPU的优化
3)调整下makefile系统,希望用CMake或者autotool工具 (××××我们在这方面的基础为0)

希望大家对这个project感兴趣。我们现在需要人手,进行Linux x86平台上的开发(需要汇编),makefile系统调整,windows上ming-w32/ming-w64的测试和debug,Mac OS上系统的测试和debug。

其中x86平台上,我们可以提供Intel Sandybridge架构机器的远程登录,进行性能优化。

谢谢

Xianyi
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <http://www.zeuux.org/pipermail/zeuux-universe/attachments/20111123/4461cc88/attachment.html>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年11月24日 星期四 06:04

monnand monnand.deng在gmail.com
星期四 十一月 24 06:04:02 CST 2011

Xianyi Zhang wrote, On 11/22/2011 11:01 PM:
> 各位:
>
> 接受建议,新开个楼介绍OpenBLAS,呵呵。
>
> http://xianyi.github.com/OpenBLAS/ <http://xianyi.github.com/OpenBLAS/>
>

比较感兴趣,问几个问题:
* 这个是中科院的项目还是业余项目?
* 我不用去申请中科院研究生才能参加项目吧?嗯,我想不用……
* 曾经有个学机械工程的朋友让我帮忙弄BLAS来着,我印象中里面很多fortran的 
代码。好吧……我承认,我当时快被fortran这种中古语言搞崩溃了。我想说,这个 
项目是说也是基于各种fortran的subroutine来改各种循环代码,做tiling,loop 
permutations之类的吗?
* 线代快忘光的人还有救吗……

嗯……大约就这些了。还有就是无非是咋下手,从哪下手之类的细节问题。

对于太底层的东西以前没做过啥项目,就是学校里学的那点东西。好吧,下学期俺 
修体系结构,没准有用。

> 主要是做开源的高性能BLAS库。
> BLAS是科学计算中的基础函数库,各大CPU厂商都会提供优化实现,比如Intel公司
> 的 MKL,AMD公司的ACML,IBM公司的ESSL等。开源实现,主要有两个,一个是美国
> 田纳西大学做的ATLAS,采 用的自适应优化的技术做的。另外一个是GotoBLAS,是
> 由美国德州大学奥斯汀分校的TACC的后藤开发的,使用的C+核 心汇编的方法。
>
> GotoBLAS的性能非常好,在Intel CPU上可以与MKL相当,有时候还会快点。但是后
> 藤大牛,在去年(还是前年?)已 经跳槽去微软了。所以GotoBLAS已经停止开发
> 了。TACC就把GotoBLAS以BSD协议放出来了。
>
> 我们就基于GotoBLAS BSD版,分支出来一份OpenBLAS。当前的主要进展:
> 1)优化龙芯3A CPU上的性能,目前是已知最好的性能。
> 2)修正一些x86平台上的bug,比如一些计算错误,SEGFAULT之类
> 3)一些细微的增强
>
> 未来的计划:
> 1)优化Intel SandyBridge CPU,需要用到AVX指令,争取能做到与MKL性能相当。
> 2)继续龙芯3B CPU的优化
> 3)调整下makefile系统,希望用CMake或者autotool工具 (××××我们在这方面的
> 基础为0)
>
> 希望大家对这个project感兴趣。我们现在需要人手,进行Linux x86平台上的开发
> (需要汇编),makefile系统调整,windows上ming-w32/ming-w64的测试和
> debug,Mac OS上系统的测试和debug。
>
> 其中x86平台上,我们可以提供Intel Sandybridge架构机器的远程登录,进行性能
> 优化。
>
> 谢谢
>
> Xianyi
>
>
> _______________________________________________
> zeuux-universe mailing list
> zeuux-universe在zeuux.org
> http://www.zeuux.org/mailman/listinfo/zeuux-universe
>
> ZEUUX Project - Free Software, Free Society!
> http://www.zeuux.org


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年11月24日 星期四 06:08

monnand monnand.deng在gmail.com
星期四 十一月 24 06:08:07 CST 2011

Xianyi Zhang wrote, On 11/22/2011 11:01 PM:
> 各位:
>
> 接受建议,新开个楼介绍OpenBLAS,呵呵。
>
> http://xianyi.github.com/OpenBLAS/ <http://xianyi.github.com/OpenBLAS/>
>
[snip]

抱歉,忘了自我介绍了:
我的github: http://github.com/monnand
还有点死掉没人搭理我都懒得看的开源项目就不再拿出来现眼了。

另外,这个是和龙芯有关系吗?不信毛泽东思想的能搀合吗?毛概重修两次最后六 
十出头老师发慈悲才过的会遭鄙视吗?

-Monnand

>
> 谢谢
>
> Xianyi
>
>
> _______________________________________________
> zeuux-universe mailing list
> zeuux-universe在zeuux.org
> http://www.zeuux.org/mailman/listinfo/zeuux-universe
>
> ZEUUX Project - Free Software, Free Society!
> http://www.zeuux.org


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年11月24日 星期四 08:53

Xianyi Zhang traits.zhang在gmail.com
星期四 十一月 24 08:53:14 CST 2011

感谢关注,回答几个问题:

1)中科院软件所并行软件与计算科学实验室发起的开源项目。所以,就是和开源项目运作一样,只要有兴趣,有时间。在github上提交fork出来,再patch回来就可以了。当然不需要申请研究僧...当然,如果你愿意报告我们实验室的硕士/博士研究僧,那也非常欢迎。

2)BLAS有fortran接口,也有C接口的。但是OpenBLAS/GotoBLAS实现的时候,都是用C和汇编来做的,基本上没有什么fortran。

3)性能优化的开发,可以先从简单的做起,比如优化BLAS1级的 axpy
程序,就是1个向量乘以1个标量加到另一个向量上。虽然简单,但是很多BLAS函数的基础之一。体系结构的课程对于优化会比较有帮助。如果你对优化Intel
Sandybridge上的程序有兴趣,那也应该去Intel的网站上,有很多英文的CPU手册,优化手册,汇编指令手册等。

4)与中科院计算所龙芯组的关系。我们是软件所下的一个实验室,目前也没有和计算所的龙芯组共同申请课题,当然做龙芯就会和他们的工作人员交流啦。这个项目的发起,部分来源于一个“国产处理器的编译系统和工具链”的课题。所以,你到底学了几遍的毛泽东思想,对于这个项目没什么影响。
首先做龙芯的原因是,毕竟是国产的CPU,应该顶一下。但,也很快会开始对Intel和AMD新的CPU的优化工作。

谢谢

Xianyi

在 2011年11月24日 上午6:04,monnand <monnand.deng在gmail.com>写道:

> Xianyi Zhang wrote, On 11/22/2011 11:01 PM:
>
>> 各位:
>>
>> 接受建议,新开个楼介绍OpenBLAS,呵呵。
>>
>> http://xianyi.github.com/**OpenBLAS/ <http://xianyi.github.com/OpenBLAS/><
>> http://xianyi.github.com/**OpenBLAS/ <http://xianyi.github.com/OpenBLAS/>
>> >
>>
>>
> 比较感兴趣,问几个问题:
> * 这个是中科院的项目还是业余项目?
> * 我不用去申请中科院研究生才能参加项目吧?嗯,我想不用……
> * 曾经有个学机械工程的朋友让我帮忙弄BLAS来着,**我印象中里面很多fortran的 代码。好吧……我承认,**我当时快被fortran这种中古语言搞崩溃了。我想说,这个
> 项目是说也是基于各种fortran的subroutine来改**各种循环代码,做tiling,loop permutations之类的吗?
> * 线代快忘光的人还有救吗……
>
> 嗯……大约就这些了。还有就是无非是咋下手,**从哪下手之类的细节问题。
>
> 对于太底层的东西以前没做过啥项目,就是学校里学的那点东西。**好吧,下学期俺 修体系结构,没准有用。
>
>  主要是做开源的高性能BLAS库。
>> BLAS是科学计算中的基础函数库,**各大CPU厂商都会提供优化实现,比如Intel公司
>>
>> 的 MKL,AMD公司的ACML,IBM公司的ESSL等。**开源实现,主要有两个,一个是美国
>> 田纳西大学做的ATLAS,采 用的自适应优化的技术做的。另外一个是GotoBLAS,是
>> 由美国德州大学奥斯汀分校的TACC的后藤开发的,使用的C+核 心汇编的方法。
>>
>> GotoBLAS的性能非常好,在Intel CPU上可以与MKL相当,有时候还会快点。但是后
>> 藤大牛,在去年(还是前年?)已 经跳槽去微软了。所以GotoBLAS已经停止开发
>> 了。TACC就把GotoBLAS以BSD协议放出来了。
>>
>> 我们就基于GotoBLAS BSD版,分支出来一份OpenBLAS。当前的主要进展:
>> 1)优化龙芯3A CPU上的性能,目前是已知最好的性能。
>> 2)修正一些x86平台上的bug,比如一些计算错误,**SEGFAULT之类
>> 3)一些细微的增强
>>
>> 未来的计划:
>> 1)优化Intel SandyBridge CPU,需要用到AVX指令,争取能做到与MKL性能相当。
>> 2)继续龙芯3B CPU的优化
>> 3)调整下makefile系统,**希望用CMake或者autotool工具 (××××我们在这方面的
>> 基础为0)
>>
>> 希望大家对这个project感兴趣。我们现在需要人手,**进行Linux x86平台上的开发
>> (需要汇编),makefile系统调整,**windows上ming-w32/ming-w64的测试和
>> debug,Mac OS上系统的测试和debug。
>>
>> 其中x86平台上,我们可以提供Intel Sandybridge架构机器的远程登录,进行性能
>> 优化。
>>
>> 谢谢
>>
>> Xianyi
>>
>>
>> ______________________________**_________________
>> zeuux-universe mailing list
>> zeuux-universe在zeuux.org
>> http://www.zeuux.org/mailman/**listinfo/zeuux-universe>
>>
>> ZEUUX Project - Free Software, Free Society!
>> http://www.zeuux.org
>>
>
> ______________________________**_________________
> zeuux-universe mailing list
> zeuux-universe在zeuux.org
> http://www.zeuux.org/mailman/**listinfo/zeuux-universe>
>
> ZEUUX Project - Free Software, Free Society!
> http://www.zeuux.org
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <http://www.zeuux.org/pipermail/zeuux-universe/attachments/20111124/28fbbade/attachment-0001.html>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年11月24日 星期四 11:21

monnand monnand.deng在gmail.com
星期四 十一月 24 11:21:47 CST 2011

Xianyi Zhang wrote, On 11/23/2011 07:53 PM:
> 感谢关注,回答几个问题:
>
> 1)中科院软件所并行软件与计算科学实验室发起的开源项目。所以,就是和开源
> 项目运作一样,只要有兴趣,有时间。在github上提交fork出来,再patch回来就
> 可以了。当然不需要申请研究僧...当然,如果你愿意报告我们实验室的硕士/博士
> 研究僧,那也非常欢迎。

这么早就起来了,真是辛苦你了。

提个建议:

老实讲,俺真把学校里学的那点线性代数的东西忘得差不多了——我想很多人也都如 
此,至少我干保证,大多数人对于BLAS里面实现的大部分算法都不是非常熟悉。这 
个项目本身又非常大,这样发上一条消息,恐怕也真是没有人有时间把代码读一 
遍,找到自己合适的然后优化。

不过这个项目本身的代码量虽然庞大,但是各个代码之间的依赖关系相对要少。我 
觉得不如这样,花些时间,写下一份*具体*的TODO-list。每一项包含一个小工 
程,大概包括的信息有:
o 需要阅读哪部分代码
o 需要哪些背景知识——最好有相关背景知识的wiki page或者论文链接。或者简单 
介绍一下。
o 针对的平台,是否考虑GPU——看了你的个人主页,想必GPU方面的优化应该会考虑吧?
o 可能要用到的优化方法和建议,比如找到一个针对某个平台的最优的tiling大小等等
o 当前代码在哪些benchmark下的结果是什么,希望优化到什么程度。

有了这份TODO-list,大家就可以根据各自擅长的部分,有针对性地选择任务。节 
省了大家的时间——个人以为这一点对于开源项目尤其重要。很多代码贡献者没有时 
间跟踪每个版本的变化。

关于autoconf automake的问题,我大概翻了翻代码,我觉得这不是个轻松的任 
务。因为这个项目有太多的分支条件,选择使用哪个代码需要考虑目标环境的很多 
因素。恐怕不是一句简单地“要使用autoconf工具”就能解决的。(没写过CMake的 
脚本,但个人感觉难度应该差不多)

这方面,我的建议是先有一个整体的规划,然后再单独建立一个空项目,按照之前 
的规划,把原有的代码一点一点移进新项目里来。最后把新项目merge到现有代码 
库的一个branch里。

>
> 2)BLAS有fortran接口,也有C接口的。但是OpenBLAS/GotoBLAS实现的时候,都是
> 用C和汇编来做的,基本上没有什么fortran。

哦,那就好,那就好。俺实在不想用fortran。

>
> 3)性能优化的开发,可以先从简单的做起,比如优化BLAS1级的 axpy 程序,就是
> 1个向量乘以1个标量加到另一个向量上。虽然简单,但是很多BLAS函数的基础之
> 一。体系结构的课程对于优化会比较有帮助。如果你对优化Intel Sandybridge上
> 的程序有兴趣,那也应该去Intel的网站上,有很多英文的CPU手册,优化手册,汇
> 编指令手册等。



>
> 4)与中科院计算所龙芯组的关系。我们是软件所下的一个实验室,目前也没有和
> 计算所的龙芯组共同申请课题,当然做龙芯就会和他们的工作人员交流啦。这个项
> 目的发起,部分来源于一个“国产处理器的编译系统和工具链”的课题。所以,你到
> 底学了几遍的毛泽东思想,对于这个项目没什么影响。
> 首先做龙芯的原因是,毕竟是国产的CPU,应该顶一下。但,也很快会开始对Intel
> 和AMD新的CPU的优化工作。
>
> 谢谢
>
> Xianyi
>
> 在 2011年11月24日 上午6:04,monnand <monnand.deng在gmail.com
> monnand.deng在gmail.com>>写道:
>
>     Xianyi Zhang wrote, On 11/22/2011 11:01 PM:
>
>         各位:
>
>         接受建议,新开个楼介绍OpenBLAS,呵呵。
>
>         http://xianyi.github.com/ OpenBLAS/
>         <http://xianyi.github.com/OpenBLAS/> <http://xianyi.github.com/
>         OpenBLAS/ <http://xianyi.github.com/OpenBLAS/>>
>
>
>     比较感兴趣,问几个问题:
>     * 这个是中科院的项目还是业余项目?
>     * 我不用去申请中科院研究生才能参加项目吧?嗯,我想不用……
>     * 曾经有个学机械工程的朋友让我帮忙弄BLAS来着, 我印象中里面很多
>     fortran的 代码。好吧……我承认, 我当时快被fortran这种中古语言搞崩溃
>     了。我想说,这个 项目是说也是基于各种fortran的subroutine来改 各种循
>     环代码,做tiling,loop permutations之类的吗?
>     * 线代快忘光的人还有救吗……
>
>     嗯……大约就这些了。还有就是无非是咋下手, 从哪下手之类的细节问题。
>
>     对于太底层的东西以前没做过啥项目,就是学校里学的那点东西。 好吧,下
>     学期俺 修体系结构,没准有用。
>
>         主要是做开源的高性能BLAS库。
>         BLAS是科学计算中的基础函数库, 各大CPU厂商都会提供优化实现,比如
>         Intel公司
>
>         的 MKL,AMD公司的ACML,IBM公司的ESSL等。 开源实现,主要有两个,
>         一个是美国
>         田纳西大学做的ATLAS,采 用的自适应优化的技术做的。另外一个是
>         GotoBLAS,是
>         由美国德州大学奥斯汀分校的TACC的后藤开发的,使用的C+核 心汇编的
>         方法。
>
>         GotoBLAS的性能非常好,在Intel CPU上可以与MKL相当,有时候还会快
>         点。但是后
>         藤大牛,在去年(还是前年?)已 经跳槽去微软了。所以GotoBLAS已经
>         停止开发
>         了。TACC就把GotoBLAS以BSD协议放出来了。
>
>         我们就基于GotoBLAS BSD版,分支出来一份OpenBLAS。当前的主要进展:
>         1)优化龙芯3A CPU上的性能,目前是已知最好的性能。
>         2)修正一些x86平台上的bug,比如一些计算错误, SEGFAULT之类
>         3)一些细微的增强
>
>         未来的计划:
>         1)优化Intel SandyBridge CPU,需要用到AVX指令,争取能做到与MKL性
>         能相当。
>         2)继续龙芯3B CPU的优化
>         3)调整下makefile系统, 希望用CMake或者autotool工具 (××××我们在
>         这方面的
>         基础为0)
>
>         希望大家对这个project感兴趣。我们现在需要人手, 进行Linux x86平
>         台上的开发
>         (需要汇编),makefile系统调整, windows上ming-w32/ming-w64的测试和
>         debug,Mac OS上系统的测试和debug。
>
>         其中x86平台上,我们可以提供Intel Sandybridge架构机器的远程登录,
>         进行性能
>         优化。
>
>         谢谢
>
>         Xianyi
>
>
>         ______________________________ _________________
>         zeuux-universe mailing list
>         zeuux-universe在zeuux.org zeuux-universe在zeuux.org>
>         http://www.zeuux.org/mailman/ listinfo/zeuux-universe
>         <http://www.zeuux.org/mailman/listinfo/zeuux-universe>
>
>         ZEUUX Project - Free Software, Free Society!
>         http://www.zeuux.org
>
>
>     ______________________________ _________________
>     zeuux-universe mailing list
>     zeuux-universe在zeuux.org zeuux-universe在zeuux.org>
>     http://www.zeuux.org/mailman/ listinfo/zeuux-universe
>     <http://www.zeuux.org/mailman/listinfo/zeuux-universe>
>
>     ZEUUX Project - Free Software, Free Society!
>     http://www.zeuux.org
>
>
>
>
> _______________________________________________
> zeuux-universe mailing list
> zeuux-universe在zeuux.org
> http://www.zeuux.org/mailman/listinfo/zeuux-universe
>
> ZEUUX Project - Free Software, Free Society!
> http://www.zeuux.org


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年11月24日 星期四 12:11

Xianyi Zhang traits.zhang在gmail.com
星期四 十一月 24 12:11:08 CST 2011

谢谢你的建议。
我们会陆续整理一些中英文的资料,包括To-do list之类。以及,我们的一些测试结果(x86,loongson3a),写成Tech Report

希望能在12月底之前完成这些工作。

Xianyi

在 2011年11月24日 上午11:21,monnand <monnand.deng在gmail.com>写道:

> Xianyi Zhang wrote, On 11/23/2011 07:53 PM:
>
>  感谢关注,回答几个问题:
>>
>> 1)中科院软件所并行软件与计算科学实验室发起的开源项目。**所以,就是和开源
>> 项目运作一样,只要有兴趣,有时间。**在github上提交fork出来,再patch回来就
>> 可以了。当然不需要申请研究僧...当然,**如果你愿意报告我们实验室的硕士/博士
>> 研究僧,那也非常欢迎。
>>
>
> 这么早就起来了,真是辛苦你了。
>
> 提个建议:
>
> 老实讲,俺真把学校里学的那点线性代数的东西忘得差不多了――**我想很多人也都如 此,至少我干保证,**大多数人对于BLAS里面实现的大部分算法都不是非常熟悉。这
> 个项目本身又非常大,这样发上一条消息,**恐怕也真是没有人有时间把代码读一 遍,找到自己合适的然后优化。
>
> 不过这个项目本身的代码量虽然庞大,**但是各个代码之间的依赖关系相对要少。我 觉得不如这样,花些时间,写下一份*具体*的TODO-**list。每一项包含一个小工
> 程,大概包括的信息有:
> o 需要阅读哪部分代码
> o 需要哪些背景知识――最好有相关背景知识的wiki page或者论文链接。或者简单 介绍一下。
> o 针对的平台,是否考虑GPU――看了你的个人主页,**想必GPU方面的优化应该会考虑吧?
> o 可能要用到的优化方法和建议,**比如找到一个针对某个平台的最优的tiling大小等等
> o 当前代码在哪些benchmark下的结果是什么,**希望优化到什么程度。
>
> 有了这份TODO-list,大家就可以根据各自擅长的部分,**有针对性地选择任务。节 省了大家的时间――个人以为这一点对于开源项目尤其重要。**很多代码贡献者没有时
> 间跟踪每个版本的变化。
>
> 关于autoconf automake的问题,我大概翻了翻代码,**我觉得这不是个轻松的任 务。因为这个项目有太多的分支条件,**选择使用哪个代码需要考虑目标环境的很多
> 因素。恐怕不是一句简单地“要使用autoconf工具”**就能解决的。(没写过CMake的 脚本,但个人感觉难度应该差不多)
>
> 这方面,我的建议是先有一个整体的规划,**然后再单独建立一个空项目,按照之前 的规划,把原有的代码一点一点移进新项目里来。**最后把新项目merge到现有代码
> 库的一个branch里。
>
>
>> 2)BLAS有fortran接口,也有C接口的。**但是OpenBLAS/GotoBLAS实现的时候,都是
>> 用C和汇编来做的,基本上没有什么fortran。
>>
>
> 哦,那就好,那就好。俺实在不想用fortran。
>
>
>
>> 3)性能优化的开发,可以先从简单的做起,**比如优化BLAS1级的 axpy 程序,就是
>> 1个向量乘以1个标量加到另一个向量上。虽然简单,**但是很多BLAS函数的基础之
>> 一。体系结构的课程对于优化会比较有帮助。**如果你对优化Intel Sandybridge上
>> 的程序有兴趣,那也应该去Intel的网站上,**有很多英文的CPU手册,优化手册,汇
>> 编指令手册等。
>>
>
>
>
>
>> 4)与中科院计算所龙芯组的关系。我们是软件所下的一个实验室,**目前也没有和
>> 计算所的龙芯组共同申请课题,**当然做龙芯就会和他们的工作人员交流啦。这个项
>> 目的发起,部分来源于一个“国产处理器的编译系统和工具链”**的课题。所以,你到
>> 底学了几遍的毛泽东思想,对于这个项目没什么影响。
>> 首先做龙芯的原因是,毕竟是国产的CPU,应该顶一下。但,**也很快会开始对Intel
>> 和AMD新的CPU的优化工作。
>>
>> 谢谢
>>
>> Xianyi
>>
>> 在 2011年11月24日 上午6:04,monnand <monnand.deng在gmail.com
>> monnand.deng在gmail.com**>>写道:
>>
>>
>>    Xianyi Zhang wrote, On 11/22/2011 11:01 PM:
>>
>>        各位:
>>
>>        接受建议,新开个楼介绍OpenBLAS,呵呵。
>>
>>        http://xianyi.github.com/ OpenBLAS/
>>        <http://xianyi.github.com/**OpenBLAS/>>
>> <http://xianyi.github.com/
>>
>>        OpenBLAS/ <http://xianyi.github.com/**OpenBLAS/>
>> >>
>>
>>
>>    比较感兴趣,问几个问题:
>>    * 这个是中科院的项目还是业余项目?
>>    * 我不用去申请中科院研究生才能参加项目吧?嗯,我想不用……
>>    * 曾经有个学机械工程的朋友让我帮忙弄BLAS来着, 我印象中里面很多
>>    fortran的 代码。好吧……我承认, 我当时快被fortran这种中古语言搞崩溃
>>    了。我想说,这个 项目是说也是基于各种fortran的subroutine来改 各种循
>>    环代码,做tiling,loop permutations之类的吗?
>>    * 线代快忘光的人还有救吗……
>>
>>    嗯……大约就这些了。还有就是无非是咋下手, 从哪下手之类的细节问题。
>>
>>    对于太底层的东西以前没做过啥项目,就是学校里学的那点东西。 好吧,下
>>    学期俺 修体系结构,没准有用。
>>
>>        主要是做开源的高性能BLAS库。
>>        BLAS是科学计算中的基础函数库, 各大CPU厂商都会提供优化实现,比如
>>        Intel公司
>>
>>        的 MKL,AMD公司的ACML,IBM公司的ESSL等。 开源实现,主要有两个,
>>        一个是美国
>>        田纳西大学做的ATLAS,采 用的自适应优化的技术做的。另外一个是
>>        GotoBLAS,是
>>        由美国德州大学奥斯汀分校的TACC的后藤开发的,使用的C+核 心汇编的
>>        方法。
>>
>>        GotoBLAS的性能非常好,在Intel CPU上可以与MKL相当,有时候还会快
>>        点。但是后
>>        藤大牛,在去年(还是前年?)已 经跳槽去微软了。所以GotoBLAS已经
>>        停止开发
>>        了。TACC就把GotoBLAS以BSD协议放出来了。
>>
>>        我们就基于GotoBLAS BSD版,分支出来一份OpenBLAS。当前的主要进展:
>>        1)优化龙芯3A CPU上的性能,目前是已知最好的性能。
>>        2)修正一些x86平台上的bug,比如一些计算错误, SEGFAULT之类
>>        3)一些细微的增强
>>
>>        未来的计划:
>>        1)优化Intel SandyBridge CPU,需要用到AVX指令,争取能做到与MKL性
>>        能相当。
>>        2)继续龙芯3B CPU的优化
>>        3)调整下makefile系统, 希望用CMake或者autotool工具 (××××我们在
>>        这方面的
>>        基础为0)
>>
>>        希望大家对这个project感兴趣。我们现在需要人手, 进行Linux x86平
>>        台上的开发
>>        (需要汇编),makefile系统调整, windows上ming-w32/ming-w64的测试和
>>        debug,Mac OS上系统的测试和debug。
>>
>>        其中x86平台上,我们可以提供Intel Sandybridge架构机器的远程登录,
>>        进行性能
>>        优化。
>>
>>        谢谢
>>
>>        Xianyi
>>
>>
>>        ______________________________ _________________
>>        zeuux-universe mailing list
>>        zeuux-universe在zeuux.org zeuux-universe在zeuux.**org<zeuux-universe在zeuux.org>
>> >
>>        http://www.zeuux.org/mailman/ listinfo/zeuux-universe
>>
>>        <http://www.zeuux.org/mailman/**listinfo/zeuux-universe>
>> >
>>
>>        ZEUUX Project - Free Software, Free Society!
>>        http://www.zeuux.org
>>
>>
>>    ______________________________ _________________
>>    zeuux-universe mailing list
>>    zeuux-universe在zeuux.org zeuux-universe在zeuux.**org<zeuux-universe在zeuux.org>
>> >
>>    http://www.zeuux.org/mailman/ listinfo/zeuux-universe
>>
>>    <http://www.zeuux.org/mailman/**listinfo/zeuux-universe>
>> >
>>
>>    ZEUUX Project - Free Software, Free Society!
>>    http://www.zeuux.org
>>
>>
>>
>>
>> ______________________________**_________________
>> zeuux-universe mailing list
>> zeuux-universe在zeuux.org
>> http://www.zeuux.org/mailman/**listinfo/zeuux-universe>
>>
>> ZEUUX Project - Free Software, Free Society!
>> http://www.zeuux.org
>>
>
> ______________________________**_________________
> zeuux-universe mailing list
> zeuux-universe在zeuux.org
> http://www.zeuux.org/mailman/**listinfo/zeuux-universe>
>
> ZEUUX Project - Free Software, Free Society!
> http://www.zeuux.org
>
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <http://www.zeuux.org/pipermail/zeuux-universe/attachments/20111124/d24fc21d/attachment.html>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号