Fortran Coder

标题: 突发奇想,大家一起来汉化MKL吧? [打印本页]

作者: 岸边的鱼    时间: 2014-9-28 16:06
标题: 突发奇想,大家一起来汉化MKL吧?
最近经常有人询问IMSL的使用问题,但是现在IVF中自带的是MKL,对于MKL我是没有什么了解的,
所以就想我们群友那么多的高手,要是每人每天汉化一个MKL中的数学函数,用不了多久我们群就、
可以出一本汉化的MKL函数库了,供我们这些英语不好的小虾米们查阅那该是一件多么好的事情啊?
不知道各位大神们支持吧?谢谢大家

作者: 楚香饭    时间: 2014-9-28 20:49
可以有这个考虑,但商业版的函数库,可能会不划算。不如找免费版的来翻译更有意义。
作者: 岸边的鱼    时间: 2014-9-29 13:19
楚香饭 发表于 2014-9-28 20:49
可以有这个考虑,但商业版的函数库,可能会不划算。不如找免费版的来翻译更有意义。 ...

不是很明白裙子的意思,商业版的不划算的意思是?会有版权的问题?免费的那是指IMSL?
作者: 珊瑚虫    时间: 2014-9-29 14:09
想法很好,需要开一个专门的帖子来,每天挂出一个函数,然后大家回帖来翻译,也可以看投票别人的翻译,谁翻译的好,日积月累,一天一个函数,一年就是365个。
作者: 楚香饭    时间: 2014-9-29 14:49
商业版的函数库有一些问题:
1.原版帮助受版权保护,在此之上的翻译版也受原版版权保护并归属 Intel 。所以,咱们不能在中文版的文档里署名(除非 intel 授权)。
2.原则上,网站不提倡使用盗版产品。而正版的 MKL 购买的人极少吧?我更希望网站起到推动免费开源产品的作用。

IMSL 也是需要付费的。

咱们可以考虑翻译一些东西,或者自己做一些属于自己的东西。想法都很好,再讨论讨论。
作者: Villain    时间: 2014-9-29 16:11
新手求助,有汉化的Intel fortran Libraries reference吗?
愣是静不下心来看。

作者: 楚香饭    时间: 2014-9-29 17:08
Villain 发表于 2014-9-29 16:11
新手求助,有汉化的Intel fortran Libraries reference吗?
愣是静不下心来看。

这不都在商量做呢嘛
作者: pasuka    时间: 2014-9-30 09:08
偶个人的理解是:
搞Fortran编程的人如果连MKL文档这点简单的科技英文也不屑于啃骨头的话,请尽快放弃Fortran改用matlab吧
首先,matlab现在中文资料多如牛毛,其次,相当一部分matlab程序经过优化后,运行速度和C、Fortran相比相差不超过一个数量级
作者: vvt    时间: 2014-9-30 09:26
我觉得这事可以搞。

中文资料有助于提高新手学习 fortran 的兴趣。只有有了一定兴趣,觉得这东西值得去深入玩,才会慢慢有楼上的这种思维。
作者: 岸边的鱼    时间: 2014-9-30 09:28
本帖最后由 岸边的鱼 于 2014-9-30 09:32 编辑
楚香饭 发表于 2014-9-29 14:49
商业版的函数库有一些问题:
1.原版帮助受版权保护,在此之上的翻译版也受原版版权保护并归属 Intel 。所以 ...

额,原来有那么多的问题啊,那么我们也学习宋叶志同学出一本程序算法集怎么样?将MKL的内部函数都以子程序的形式给出,主程序只是调用,再将整个程序标注汉化,这样就像是自己编写的算法集一般,不知道这样是不是还有版权问题?若是还有问题我们就子程序的调用时使用的一些变量的名字给换换?加上我们Fcode的标记?以我们群的名义出一本书,我感觉一定比宋叶志的要好,他的程序集也就是这里抄抄哪里抄抄来的吧,人家都能出书我们群也可以,而且将来以我们群里的人数来看,销量一定不错的。

作者: 岸边的鱼    时间: 2014-9-30 09:33
额,珊瑚大哥说的是,一天挂2个,谁愿意的就谁翻译,将来集结成册,指不定还可以出版那
作者: 岸边的鱼    时间: 2014-9-30 09:37
pasuka 发表于 2014-9-30 09:08
偶个人的理解是:
搞Fortran编程的人如果连MKL文档这点简单的科技英文也不屑于啃骨头的话,请尽快放弃Fortr ...

看来大神英语还是蛮好的,但是我觉得学习F的未必就会C,会使用F的M也未必用的好,这里面应该不是执行速度的问题,而且很多初学者根本就不知道MKL里面自带了什么函数(比如我),看着满眼的英文实在是头疼的不行,要是汉化之后估计直接瞄两眼就知道个大概了。你要是有时间可以帮我们促成这事,不胜感激
作者: vvt    时间: 2014-9-30 09:52
岸边的鱼 发表于 2014-9-30 09:28
额,原来有那么多的问题啊,那么我们也学习宋叶志同学出一本程序算法集怎么样?将MKL的内部函数都以子程序 ...

MKL 的函数不就是子程序的形式吗?重新封装可能会有版权问题。

可能由于 MKL 有 C 的接口,有 F77 的接口,有 F90 的接口。然后有单机版,集群版,并行版。32位版,64位版。。。这些东西多了以后,容易搞混,搞乱。让人觉得这货很费劲。

真的要做的话,对函数进行一些翻译,接口的说明就可以了。重新封装没多大意义和必要,且有版权问题。

宋的书我没看过,不甚了解。

MKL 的翻译如果能做出来,适合做为免费的福利,亦可吸引用户访问或注册。但不宜做为商业出版。

我倒是觉得《modern fortran》这几本书值得翻译。可以与出版商或作者联系,授权翻译。
作者: 岸边的鱼    时间: 2014-9-30 10:01
vvt 发表于 2014-9-30 09:52
MKL 的函数不就是子程序的形式吗?重新封装可能会有版权问题。

可能由于 MKL 有 C 的接口,有 F77 的接 ...

额,好的吧,《modern fortran》我没看过,作为初学者,我感觉这个问题讨论到这已经变的高大上了,在往下,就不是我这个英语+F的双菜鸟可以发表的了
作者: vvt    时间: 2014-9-30 10:03
高大上往往没有好的群众基础。
接地气更好。

最好是既接地气,又高大上。深入浅出。自己写书吧~~
作者: jason388    时间: 2014-10-9 10:00
与其翻译mkl,不如搞个常用算法列表,然后大家采用标准Fortran加以实现,最后fcode选择比较优化的代码集成一个库共享给大家。

好像前一段时间有个类似想法的帖子。
作者: jason388    时间: 2014-10-9 10:06
编译器实现的很多内置函数通常只是确保能用,一般其算法并不保证是最优化的,MKL里面的算法是否最优估计也是有疑问的。
作者: 楚香饭    时间: 2014-10-9 10:17
jason388 发表于 2014-10-9 10:00
与其翻译mkl,不如搞个常用算法列表,然后大家采用标准Fortran加以实现,最后fcode选择比较优化的代码集成 ...

是的,这个想法曾经有过。但是参与的人太少了,所以到现在还没有进行第二期。

MKL 的翻译我们已经在开始了,但是大伙都忙,估计这事一时半会完不了。
作者: 楚香饭    时间: 2014-10-9 10:17
jason388 发表于 2014-10-9 10:06
编译器实现的很多内置函数通常只是确保能用,一般其算法并不保证是最优化的,MKL里面的算法是否最优估计也 ...

我也更倾向于做自己的开源函数库。但是难度也更大。
作者: jason388    时间: 2014-10-9 16:37
楚香饭 发表于 2014-10-9 10:17
我也更倾向于做自己的开源函数库。但是难度也更大。

大而全是很难的,但少数常用的还是有可能的。以前看过一个帖子讲某个3d游戏在很差的机器上运行都很顺畅的关键是因为其实现了该游戏中大量用到的一个求平方根倒数的很牛函数,所以借用新标准带来的一些功能(比如位操作等)实现以前只能由C实现的一些算法估计还是有可能的,当然也可以直接封装过来。

作者: fcode    时间: 2014-10-9 16:42
逐步来做吧。既然大家决定了先翻译MKL,可以先做完看看。

确实这个网站,这个论坛,参与进来的人还是不够。

jason 如果有好的代码(比较通用性的),可以在网站投稿~~
作者: 瑶远梦想    时间: 2014-10-9 21:47
jason388 发表于 2014-10-9 10:06
编译器实现的很多内置函数通常只是确保能用,一般其算法并不保证是最优化的,MKL里面的算法是否最优估计也 ...

这个的支持。。。
作者: 百事可乐    时间: 2014-10-17 09:46
这坛子越来越霸道了。
作者: jason388    时间: 2014-10-24 09:20
fcode 发表于 2014-10-9 16:42
逐步来做吧。既然大家决定了先翻译MKL,可以先做完看看。

确实这个网站,这个论坛,参与进来的人还是不够 ...

IBM 的 XL Fortran编译器提供的 matmul 内置函数增加了一个附加选项,如果略去该选项则内置函数采用普通矩阵乘法计算,该方法为 O(N**3)但可靠稳定。如果选了该附加选项,则采用 Winograd variation of the Strassen algorithm,这个算法速度快但在某些情况下会出现不稳定问题。

Intel 的MKL针对其自己的处理器做到了最大程度的优化(最合适的算法?),但对其他处理器是否最优需要试过才知道,没准用的是较慢的算法,毕竟其开发编译器的目的主要是为了销售硬件。

所以对于计算量极大的程序开发,针对问题和采用的硬件研究算法是必要的。当然如果速度不重要则还是采用编译器提供的算法最稳妥,因为编译器追求的第一目标是稳定。
作者: 百事可乐    时间: 2014-10-27 15:34
如果使用者很刻意地追求效率,就不会大量使用MKL的函数了。

用MKL的人,对数学过程多半是懒得自己写,或者根本不会写。
作者: mangix2010    时间: 2014-10-30 22:40
确实是,有些就是MKL临时用用的,没那么多时间去研究的,所以有个快速入门还是很受欢迎的
作者: hang719    时间: 2014-11-18 23:21





欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2