北森瓦版 - Northwood Blog (Author : 北森四葉. Since July 10, 2006.)
Intel Offers "Cannonlake" Support to LLVM Clang(techPowerUp!)
Intel Cannonlake Added To LLVM’s Clang – AVX-512(Legit Reivew)
AVX-512 holds 2017 entry into the retail segment(ComputerBase.de)

Intelの第8世代のCore i seriesとなる“Cannonlake”がLLVM Clang compiler frontend projectのサポートを受けることが明らかになった。そしてこの“Cannonlake”が新たな新命令―AVX 512 (avx512ifma, avx512vbmiなど) が追加されることがわかった。
 
プログラミングに携わっていない人間からするとLLVM Clangとはなんのことやら? ですが、LegitReviewにはLLVM compiler frastructure projectのためのC言語ファミリーのフロントエンドと簡単に説明されています。これでも正直なんのことやらですが、まずLLVMが基盤にあり、その上にC言語ファミリーのコンパイラであるClangがあるようです(私は門外漢なのでさっぱりだが、プログラミングに明るい方ならわかるだろうか)。

これに関連した新しい情報として“Cannonlake”でAVX-512のサポートが行われることが明らかになっています。AVX-512は14nm世代のXeon Phiである“Knights Landing”や、“Skylake-EP/-E”でサポートされる予定で、LGA115xの系譜には“Cannonlake”でAVX-512がもたらされることになるようです(もっとも“Cannonlake”世代のSocketがLGA115xなのかどうかは不明だが)。

他に新命令・拡張セットとしてSHA, UMIPの名が挙がっています。



PCパーツの通販は・・・
ソフマップicon 1's TSUKUMO ネットショップ ドスパラ パソコン工房

コメント
この記事へのコメント
151488 
実はAVX512が(avx512ifma, avx512vbmiなど)を含めてCannonlakeから搭載されるのはIntelが出しているエミュレータの情報で2014年中には一部には周知の情報だったりします。
2016/02/22(Mon) 23:33 | URL | LGA774 #-[ 編集]
151489 
LLVM ClangというコンパイラがCannonlakeで追加される新命令に対応する=新命令を使って最適化された実行ファイルを生成してくれるようになるという意味だと思います。(命令がCannonlakeで追加されると分かったことがトピックとして取り上げられているように思います。)
2016/02/23(Tue) 00:11 | URL | LGA774 #-[ 編集]
151490 
AVX-512でエンコード高速化に期待
ちょうどH.265が普及してきている頃だろうし
2016/02/23(Tue) 00:59 | URL | LGA774 #YqzQT8Bs[ 編集]
151491 
恩恵を受けるのは主に Apple ?

いや FreeBSD も Clang への移行は完了してるけど。
2016/02/23(Tue) 01:16 | URL | LGA774 #E6wUXrP2[ 編集]
151492 
LLVMプロジェクトのCコンパイラ「Clang」に“Cannonlake”向けの最適化がIntel社員の手によって追加されていたことがわかった、的な話ですね。
2016/02/23(Tue) 01:31 | URL | naruse #-[ 編集]
151493 
これはintelの技術者によるllvmへのコミットによって新CPUの新命令が明らかになったという記事でしょう
https://github.com/llvm-mirror/clang/commit/4ac9f2c9a40dae984066de241429c5a7a3472346
2016/02/23(Tue) 07:39 | URL | LGA774 #-[ 編集]
151494 
Cannonlakeが第8世代とされることに驚いた
2016/02/23(Tue) 10:30 | URL | LGA774 #-[ 編集]
151496 
同じC言語コンパイラのGCCへのコミットでAMDの新CPUのアーキテクチャが明らかになりますがアレと同じです。
タイトルはちょっと間違っていて「LLVM Clangで“Cannonlake”のサポートと新命令の追加が行われる」か「LLVM Clangに“Cannonlake”のサポートとAVX512対応が現れる」が正しいです
2016/02/23(Tue) 12:29 | URL | LGA774 #pYrWfDco[ 編集]
151498 
LLVM Clangは、最近台頭している新しいコンパイラですね。
昔からある gcc に急速に追いついて、最適化能力を競ってます。
Apple が開発支援していて OS X のデフォルトのコンパイラになってるとか、PS4 用の公式開発環境として採用されたとかでも有名です。

gcc にしても LLVM Clang にしても、メジャーなコンパイラには次期CPU向けの新命令のサポートが、オフィシャルな発表より前にIntel や AMD の社員によって寄贈されてマージされることがあり、オープンソースなのでその過程や仕様がバレバレになるという意味でも CPUウォッチャーには重要です。

https://github.com/llvm-mirror/clang/commits/master

https://github.com/llvm-mirror/clang/commit/b9019e85ee592ec6f023093f43a1bcdf34dfa691
で命令足してる Michael Zuckerman 氏は、
http://reviews.llvm.org/rL242886
のメールアドレス見ると、Intelの人ですね。
2016/02/23(Tue) 20:42 | URL | LGA774 #qsvP4ThM[ 編集]
151499 
intelがLLVMのサポートをするんかい。その逆じゃなくて。
CPUをソフトウェアの開発元に寄贈して最適化してもらうのはよくあるが、この件はちょっと珍しい。

でも半年くらい前にJVMがtransactional memoryで高速化!(Java* Application Performance Improvement with Intel® Xeon® Processor E7 v3)とか言ってるので、この件もわりと大雑把な話なのかも。
2016/02/23(Tue) 20:44 | URL | LGA774 #-[ 編集]
151504 
※かなり大ざっぱです。
これまでのアプリは、
基本的に下の様な2回以上コンパイルした、
③の状態でユーザーに届ける方式でした。

①ソースコード
 ↓(コンパイル1回目)
②中間コード
 ↓(コンパイル2回目)
③ネイティブコード(アプリ)

しかし最近は、②の状態でユーザーに届け、
ユーザーの機器(PCやスマホ)で
③にコンパイルさせる方式になりつつあります。
こうすると、ユーザーはその機器(CPU)に最適化された
③(アプリ)が使えます。

今後、新CPUや拡張命令が増えても、
お持ちのアプリはそれらに最適化されて使える様になります。

なお、Clangを1回目のコンパイラ、
LLVMを2回目のコンパイラと認識下さい。

「中間コード」でGoogle検索されると色々出てきます。

記事の内容は通じていると思います。
以上、長文失礼しました。
2016/02/24(Wed) 22:56 | URL | LGA774 #-[ 編集]
151511 
LLVM/Clangのコンパイルが高速化するのか
それとも生成したバイナリの実行速度が高速化するのか?
今回導入されるそのメカニズムとは?

よくわからんね。。。
2016/02/25(Thu) 18:04 | URL | LGA774 #-[ 編集]
151514 
そういえばJavaのバイトコードを直で実行できるJavaプロセッサってどうなったのかな?
2016/02/26(Fri) 11:40 | URL | LGA774 #-[ 編集]
コメントを投稿する(投稿されたコメントは承認後表示されます)
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://northwood.blog60.fc2.com/tb.php/8445-14efe80d
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック