重複の可能性:
AMDマルチコアプログラミング
Intel TBBプロセッサは依存していますか?それはamdまたはARMで動作しますか(たとえばmeeGoの下で?)
重複の可能性:
AMDマルチコアプログラミング
Intel TBBプロセッサは依存していますか?それはamdまたはARMで動作しますか(たとえばmeeGoの下で?)
TBBは完全にプロセッサに依存しません。TBBの残りの部分をプロセッサアーキテクチャ(主にコンペアアンドスワップなどのアトミックな読み取り-変更-書き込み操作を提供するため)および特定のOSの特殊性から分離する(かなり小さい)層があります。このレイヤーの実装では、インラインアセンブラーや組み込み関数(組み込み関数)など、コンパイラー固有のものも使用します。
TBBは、命令のないかなり古いプロセッサを除いて、AMDのプロセッサを含むx86(32ビットおよび64ビット)プロセッサですぐに使用できますmfence
。
ARMに関しては、直接のサポートはありませんが、TBB 3.0 Update 7は、GCCアトミックビルトインを使用するTBBのプラットフォーム分離レイヤーの実装を追加しました。したがって、おそらくわずかな追加作業で、ARM上でTBBを実行することは間違いなく可能です。そして実際には、TBBフォーラムでそのようなポートでの特定の成功についての報告がありました。
また、Intel(R)AppUp SDK for MeeGoにはTBBも含まれていますが、これはIntelのAtomプロセッサー専用です。
とにかくAMDにとって答えはイエスです。
ARMの場合、Intelフォーラムのフィードバックから判断すると、事態はより複雑です。誰もこれを機能させていないのですか?たとえば、http://software.intel.com/en-us/forums/showthread.php?t=74346を参照してください。
商用バージョン3.0のリリースノートには、推奨されるハードウェアに関するこれが含まれています。他のプラットフォームは、より大雑把にサポートされている可能性があると思います。
Microsoft* Windows* Systems
Intel(R) Core(TM) 2 Duo processor or Intel(R) Xeon(R) processor
or higher
Linux* Systems
Intel(R) Core(TM) 2 Duo processor or Intel(R) Xeon(R) processor
or Intel(R) Itanium(R) processor or higher
Mac OS* X Systems
Intel(R) Core(TM) 2 Duo processor or higher
(2014年12月の更新情報) ARMは4.1 Update 3の時点でTBBでサポートされており、4.2 Update 3で修正されています。私はこれを自分で使用したことがないため、このポートの堅牢性を証明できません。
いいえ、プロセッサに依存しません。使用しているコンパイラがコンパイルできる限り、これは単なるC++ライブラリです。リンクしたWebサイトのFAQから:
どのコンパイラ、オペレーティングシステム、プロセッサがサポートされていますか?
このプロジェクトは、プロジェクトの基本的な目的として、すべてのコンパイラ、すべてのOS、およびすべてのプロセッサをサポートすることに専念しています。ステータスに関する最新情報は、Webサイトで入手できます。
編集:もう少し調べてみると、ARMプロセッサでの動作に問題があるように見えますが、克服できないものは何もありません。