C AMPとは?

Weblio 辞書 > 学問 > 化学物質辞書 > C AMPの意味・解説 

キャンプ [1] 【camp】

( 名 ) スル
山・高原海岸などにテント張り野営すること。 [季] 夏。 「 -を張る」 「湖畔で-する」
兵営。 「米軍の-」
スポーツ練習のための合宿。 「 -入り
収容所抑留所。 「難民-」

cAMP


cAMP

分子式C10H12N5O6P
その他の名称:アクラシン環状AMPサイクリックAMP環状アデノシンりん酸、3',5'-環状アデニル酸、3',5'-サイクリックアデニル酸、cAMP、Acrasin、3',5'-AMPCyclic AMPAdenosine 3',5'-phosphate、3',5'-Cyclic adenylphosphoric acidサイクリック3',5'-AMP、Cyclic 3',5'-AMP環状3',5'-AMPAdenosine 3',5'-phosphoric acid、6-Amino-9-(3-O,5-O-phosphinico-β-D-ribofuranosyl)-9H-purine、3',5'-cAMP、Cyclicadenosine phosphoric acidAdenosine 3',5'-cyclic monophosphate、アデノシン3',5'-環状リン酸
体系名:6-アミノ-9-(3-O,5-O-ホスフィニコ-β-D-リボフラノシル)-9H-プリンアデノシン3',5'-ホスファートアデノシン3',5'-りん酸


cAMP

環状AMP(cyclic AMP)。糖の3'位と5'位でエステル結合形成されている。ATPからアデニル酸シクラーゼ生成され、cAMPサイクリックヌクレオチドフォスフォジエステラーゼでAMP加水分解される。エピネフリングルカゴンACTHといったホルモンレセプターシグナル伝達媒介する役割担っている。(MeSH)

名前Cyclic AMP, cAMP
3',5'-cyclic AMP
cAMP

CC Attribution-Noncommercial-Share Alike 3.0 Unported
Bio Wikiの記事を複製・再配布した「分子生物学用語集」の内容は、特に明示されていない限り、次のライセンスに従います:
CC Attribution-Noncommercial-Share Alike 3.0 Unported


Camp


C++ AMP

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/04/29 09:37 UTC 版)

C++ AMP (C++ Accelerated Massive Parallelism) [1]とは、マイクロソフトが中心になって開発している、演算アクセラレータを活用した並列プログラミングのためのC++言語拡張およびライブラリである。バックエンドとしてDirectCompute (DirectX) やOpenCLなどを使用した実装が存在している。C++ AMPによって、DirectComputeやOpenCLよりも高レベルの並列プログラミングAPIが提供される。

概要

マイクロソフトはWindows上においてGPGPUを標準化するために、DirectX 11にてDirectComputeを導入した。しかし、DirectComputeはDirect3D APIを直接操作する必要があるため、OpenMPを利用した一般的なCPU向けのC++並列プログラミングなどと比較してハードルが高い[2]。マイクロソフトはより抽象化された純粋C++プログラミングに近いGPU並列プログラミングモデルを提供するAPIおよび言語拡張として、2012年にC++ AMPの仕様を公開した[3]。また、マイクロソフトによるC++ AMPの公式プロプライエタリ実装として、Microsoft Visual C++ 2012はDirectComputeをバックエンドとした最初のC++ AMP対応コンパイラとなっている。

C++ AMPのライブラリおよびC++ AMPに対応したVisual C++コンパイラが付属しているのはVisual Studio 2012以降であるが、Visual Studio 2013ではC++ AMP v1.2規格に対応し、さらにコンピュートシェーダー以外のシェーダーステージとの相互運用やテクスチャフィルタリング(サンプラー)などの機能が強化されている[4] [5] [6]

なお、C++ AMP自体はDirectCompute/Windows専用というわけではなく、またGPU専用というわけでもない[7]AMDとマイクロソフトは、OpenCLなどをバックエンドとするLinuxOS X向けのC++ AMP v1.2オープン実装を発表した[8]。その後、同コンパイラはMulticoreWareを経てRadeon Open Compute (ROCm) プラットフォームに移管され、Clamp, Kalmar, HCCと名前を変えながら開発が続けられている[9]。HCCでは、OpenCLのカーネル記述言語"OpenCL C"や中間言語"SPIR"[10]、およびHSA (Heterogeneous System Architecture英語版) の中間言語"HSAIL"[11]への変換層が提供され、Visual C++版よりもさらにヘテロジニアス環境向けを意識した実装となっている。

MSDNブログではCUDA、OpenCL、DirectComputeプログラマー向けに、各APIに対応するC++ AMP相当機能の比較資料が公開されている。

コード例

C++ AMPのコード例を示す。OpenMP#pragma omp parallel forのように、並列処理するコード単位すなわちカーネルを、C++11ラムダ式を使ってインラインで記述している部分が特徴的である。デフォルトのアクセラレーターを使用する場合、OpenCLやDirectComputeのような冗長なデバイス準備処理の記述も不要となる。

なおVisual C++実装では、実行環境にDirectX 11対応のGPUが搭載されている場合、restrict(amp)句が指定されたコードの実行にはGPUが使用される[12]。対応GPUが搭載されていない場合は、Direct3D WARPデバイスやREFデバイスなどによるCPUエミュレーション実行(フォールバック)が提供される[13]

等差数列を作成する例

#include <amp.h>
using namespace concurrency;

void main()
{
    const int ElemCount = 100;
    int ary[ElemCount];
    array_view<int, 1> av(ElemCount, ary);

    parallel_for_each(extent<1>(ElemCount),
    [=](index<1> idx) restrict(amp) 
    {
        int i = idx[0];
        av[i] = i;
    });
    av.synchronize();
}

多次元配列の例

#include <cstdio>
#include <amp.h>
#include <amp_graphics.h>

using namespace concurrency;
using namespace concurrency::graphics;

void main()
{
    const int width = 10;
    const int height = 3;
    const int depth = 2;
    const int elemCount = width * height * depth;

    std::vector<float_3> srcHost(elemCount);
    std::vector<float_3> dstHost(elemCount);

    for (int z = 0; z < depth; ++z)
        for (int y = 0; y < height; ++y)
            for (int x = 0; x < width; ++x)
            {
                srcHost[z * height * width + y * width + x] = float_3(float(x), float(y), float(z));
            }

    array_view<float_3, 3> srcView(depth, height, width, srcHost);
    array_view<float_3, 3> dstView(depth, height, width, dstHost);

    parallel_for_each(
        dstView.extent,
        [=](index<3> idx) restrict(amp)
    {
        const auto globalx = idx[2];
        const auto globaly = idx[1];
        const auto globalz = idx[0];
        auto temp = srcView[idx];
        if (globaly == 0)
        {
            temp += 0.5f;
        }
        if (globalz == 0)
        {
            temp *= -1;
        }
        dstView[idx] = temp;
    });

    dstView.synchronize();
    for (int z = 0; z < depth; ++z)
        for (int y = 0; y < height; ++y)
            for (int x = 0; x < width; ++x)
            {
                const auto val = dstHost[z * height * width + y * width + x];
                printf("[%d][%d][%d] = (%.1f, %.1f, %.1f)\n", z, y, x, val.x, val.y, val.z);
            }
}

関連項目

参照

外部リンク


CAMP

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2009/09/07 15:23 UTC 版)

CAMP

関連項目


キャンプ (曖昧さ回避)

(C AMP から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2014/12/28 06:16 UTC 版)

キャンプ (camp)

一般概念
  • キャンプ - 野外での生活。それをするための場所。


固有の名称

関連項目





英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

「C AMP」に関係したコラム

  • 株式売買を行う日本国内の証券会社の一覧

    個人投資家が株式投資を行う場合、証券会社を通じて株式売買を行うのが一般的です。証券会社は、株式などの有価証券の売買をはじめ、店頭デリバティブ取引や有価証券の管理を主な業務としています。日本国内の証券会...

辞書ショートカット

カテゴリ一覧

全て

ビジネス

業界用語

コンピュータ

電車

自動車・バイク

工学

建築・不動産

学問

文化

生活

ヘルスケア

趣味

スポーツ

生物

食品

人名

方言

辞書・百科事典

すべての辞書の索引

「C AMP」の関連用語

1
98% |||||

2
PR‐AMP 化学物質辞書
90% |||||

3
ジブチリルcAMP 化学物質辞書
76% |||||

C AMPのお隣キーワード

   

英語⇒日本語
日本語⇒英語
   
検索ランキング

画像から探す

名尾和紙

繋駕速歩

加藤弘之

クロッタンドゥシャビニョール

邯鄲男

ED501

オウシュウアカマツ

ロットナンバー





C AMPのページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
三省堂三省堂
Copyright (C) 2001-2017 Sanseido Co.,Ltd. All rights reserved.
株式会社 三省堂三省堂 Web Dictionary
独立行政法人科学技術振興機構独立行政法人科学技術振興機構
All Rights Reserved, Copyright © Japan Science and Technology Agency
JabionJabion
Copyright (C) 2017 NII,NIG,TUS. All Rights Reserved.
Bio WikiBio Wiki
Bio Wikiの記事を複製・再配布した「分子生物学用語集」の内容は、特に明示されていない限り、次のライセンスに従います:
CC Attribution-Noncommercial-Share Alike 3.0 Unported
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのC++ AMP (改訂履歴)、CAMP (改訂履歴)、キャンプ (曖昧さ回避) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2017 Weblio RSS