AVXなSIMDLibraryを書いた
Intelさんは、SSE / AVXなMathライブラリを持ってますけどね、ICC買えないような貧乏人はどうすればいいんですか!!
この4月から、正式に某社で働くことになりました山田てるみ(研修中)です。
いやはや、モラトリアムを脱してしまってもう死ぬしかないと思ったんですけど、やってることはモラトリアム中とあんまり変わらなくて、いまいち学生から社会人にクラスチェンジした気分にならないのですが、ここは某社の方々も見てるみたいなので、あんまり甘ったれたことを書くと山田仕事しろって言われるので、仕事がんばります。
しかし今日は大嵐で早々に撤収したので明日から本気出します。
それはそうと、社会人記念でHHK Pro2を購入しまして、以前はHHK Pro無印を使っていたのですが、やはり数年使っていたのでキータッチがちょっと甘くなっているというか、新品の手触りはやはり素晴らしいですなァ!! なァるほど、これがハッピーハッキングというものか!!
閑話休題。
冒頭の通り、数学ライブラリ、まぁ三角関数なんですけども、sin/cosぐらいAVXで置いといてくれよとか思ったんですが、ないので仕方なしにInsertとかするアホなコード書いていたんですが、結局山田が必要としているのはfloat精度でそこそこなものであればよく、かつ高速なものなので、「じゃあテーラー展開した奴を計算して8個とか取り出せばいいんじゃね?」とか思って、つらつらと書いてみました。
せっかく書いたので、githubで公開してみました。
https://github.com/telmin/SIMDMath
ツッコミとか超歓迎してます。というよりテキトーなコードなので精度向上とか倍精度対応とか色々とあると思うのですが、いかんせん必要にかられていないので書かない気がしないでもないですので、オラァって言われると喜んで書きます