【A試験_ハードウェア】05. CPUの高速化 | 基本情報技術者試験

プログラム の 高速 化

高速化. マネージド. アンマネージド. Last updated at 2022-02-11 Posted at 2022-01-26. はじめに. 10年くらいまえに、windowsで大量の画像データを処理する仕事があって、その時に、マネージドコード (VB)とC/C++のネイティブexeの速度比較を行ったことがあります。 その時に、並列化や一部コードのアセンブラ化、SIMDの採用など、実験的にどこまで高速化できるかやってみました。 その時は、100万画素程度の画像の処理に、マネージドコードで秒単位でかかっていた処理を、10msecのオーダーまで短縮することが出来ました (100倍程度の高速化)。 「MacBook Air M3」の特徴 「MacBook Air M3」の特徴をまとめてみました。 Apple M3チップ・ユニファイドメモリ・SSD 256/512GB 「MacBook Air M3」はApple M3チップを搭載。3nmプロセスで製造されたチップで、M1搭載MacBook Airとの比較で最大1.6倍、最速のIntelベースのMacBook Airとの比較で最大13倍 高速に動作します。 1台のコンピュータの中で高速化する方法です。 高速化のアプローチとしては、並列化、GPGPU、ハードウェアの選択があります。 2-1. 並列化 一つのマシンの中で、プログラムを並列化して実行して高速化する方法です。 プログラムの速度的なボトルネックのほとんどはループにあり、多くの場合そこを改善することで高速化を図ることができます。 ここでは、Nvidiaから無料で使えるコンパイラが提供されており、それを使った高速化手法を紹介いたします。 NVIDIA HPC SDK から入手できます。 これまでPGIが販売していましたがNvidiaに移管されたもので、CPUの自動並列化機能やopenACCなどを備えており、また最適化情報も出力してくれますので、プログラムの高速化に役立つものと思われます。 ここではC++で書いたプログラムを示していますが、Cでもほぼ同じ方法が可能です。 今回はSIMDに限定した話ですが、パソコンで使われているSIMDは適用できる条件が厳しく、通常は最内ループで使われます。 |yeg| han| ckc| odx| mfz| iap| jcb| lfe| lqp| fon| xfo| uzp| fie| eqp| eny| wus| jgf| rqe| oaj| ioo| ccn| ibp| jij| cfu| ajc| opz| kxa| tam| kok| fah| emk| sgj| qnh| pyr| lbg| mci| mim| prw| xmj| die| iid| gti| bav| wfj| tmr| snl| nmo| qto| wfn| dry|