Slide 1

Size: px
Start display at page:

Download "Slide 1"

Transcription

1 CUDA プログラミングの基本 パート I - ソフトウェアスタックとメモリ管理

2 CUDA の基本の概要 パート I CUDAのソフトウェアスタックとコンパイル GPUのメモリ管理 パートII カーネルの起動 GPUコードの具体項目 注 : 取り上げているのは基本事項のみです そのほか多数の API 関数についてはプログラミングガイドを ご覧ください

3 CUDA インストレーション CUDA インストレーションの構成 ドライバ CUDAツールキット ( コンパイラ ) CUDA SDK( サンプルコード ) 各種プラットフォームへのインストール方法についてはクイックスタートガイドを参照

4 CUDA のソフトウェア開発 CUDA 最適化ライブラリ : math.h FFT BLAS... CPU+GPU 統合 C ソースコード NVIDIA C コンパイラ コンピューティング用 NVIDIA アセンブリ (PTX) CPU ホストコード CUDA ドライバ デバッガプロファイラ 標準 C コンパイラ GPU CPU

5 CUDA コードのコンパイル C/C++ CUDA Application NVCC CPU Code PTX Code PTX to Target Compiler 仮想 物理 G80 GPU ターゲットコード

6 ビルド構成 nvcc <filename>.cu [-o <executable>] リリースモード nvcc -g <filename>.cu デバッグモードホストコードのデバッグ用 デバイスコードのデバッグは不可 nvcc -deviceemu <filename>.cu デバイスエミュレーションモードすべてのコードをCPU 上で実行 デバッグシンボルなし nvcc -deviceemu -g <filename>.cu デバッグデバイスエミュレーションモードすべてのコードをCPU 上で実行 デバッグシンボルあり

7 メモリの管理 CPUとGPUが別々にメモリ空間を持つホスト (CPU) コードでデバイス (GPU) メモリを管理 : 領域確保 / 解放デバイスとの間のデータコピーグローバルデバイスメモリ (DRAM) が対象 DRAM CPU Chipset Device DRAM Local Memory Global Memory GPU Multiprocessor Multiprocessor Multiprocessor Registers Shared Memory

8 GPU メモリのアロケーション / 領域解放 cudamalloc(void ** pointer, size_t nbytes) cudamemset(void * pointer, int value, size_t count) cudafree(void* pointer) int n = 1024; int nbytes = 1024*sizeof(int); int *d_a = 0; cudamalloc( (void**)&d_a, nbytes ); cudamemset( d_a, 0, nbytes); cudafree(d_a);

9 データコピー cudamemcpy(void *dst, void *src, size_t nbytes, enum cudamemcpykind direction); direction で src と dst の場所 ( ホスト デバイス ) を指定 CPU スレッドをブロック : コピー完了後に戻る以前の CUDA コールが完了するまでコピーを開始しない enum cudamemcpykind cudamemcpytodevice cudamemcpydeviceto cudamemcpydevicetodevice

10 データ移動の例 Device

11 データ移動の例 int main(void) { float *a_h, *b_h; // host data float *a_d, *b_d; // device data int N = 14, nbytes, i ; nbytes = N*sizeof(float); a_h = (float *)malloc(nbytes); b_h = (float *)malloc(nbytes); cudamalloc((void **) &a_d, nbytes); cudamalloc((void **) &b_d, nbytes); a_h b_h for (i=0, i<n; i++) a_h[i] = 100.f + i; cudamemcpy(a_d, a_h, nbytes, cudamemcpytodevice); cudamemcpy(b_d, a_d, nbytes, cudamemcpydevicetodevice); cudamemcpy(b_h, b_d, nbytes, cudamemcpydeviceto); } for (i=0; i< N; i++) assert( a_h[i] == b_h[i] ); free(a_h); free(b_h); cudafree(a_d); cudafree(b_d); return 0;

12 データ移動の例 int main(void) { float *a_h, *b_h; // host data float *a_d, *b_d; // device data int N = 14, nbytes, i ; nbytes = N*sizeof(float); a_h = (float *)malloc(nbytes); b_h = (float *)malloc(nbytes); cudamalloc((void **) &a_d, nbytes); cudamalloc((void **) &b_d, nbytes); for (i=0, i<n; i++) a_h[i] = 100.f + i; a_h b_h Device a_d b_d cudamemcpy(a_d, a_h, nbytes, cudamemcpytodevice); cudamemcpy(b_d, a_d, nbytes, cudamemcpydevicetodevice); cudamemcpy(b_h, b_d, nbytes, cudamemcpydeviceto); } for (i=0; i< N; i++) assert( a_h[i] == b_h[i] ); free(a_h); free(b_h); cudafree(a_d); cudafree(b_d); return 0;

13 データ移動の例 int main(void) { float *a_h, *b_h; // host data float *a_d, *b_d; // device data int N = 14, nbytes, i ; nbytes = N*sizeof(float); a_h = (float *)malloc(nbytes); b_h = (float *)malloc(nbytes); cudamalloc((void **) &a_d, nbytes); cudamalloc((void **) &b_d, nbytes); for (i=0, i<n; i++) a_h[i] = 100.f + i; a_h b_h Device a_d b_d cudamemcpy(a_d, a_h, nbytes, cudamemcpytodevice); cudamemcpy(b_d, a_d, nbytes, cudamemcpydevicetodevice); cudamemcpy(b_h, b_d, nbytes, cudamemcpydeviceto); } for (i=0; i< N; i++) assert( a_h[i] == b_h[i] ); free(a_h); free(b_h); cudafree(a_d); cudafree(b_d); return 0;

14 データ移動の例 int main(void) { float *a_h, *b_h; // host data float *a_d, *b_d; // device data int N = 14, nbytes, i ; nbytes = N*sizeof(float); a_h = (float *)malloc(nbytes); b_h = (float *)malloc(nbytes); cudamalloc((void **) &a_d, nbytes); cudamalloc((void **) &b_d, nbytes); for (i=0, i<n; i++) a_h[i] = 100.f + i; a_h b_h Device a_d b_d cudamemcpy(a_d, a_h, nbytes, cudamemcpytodevice); cudamemcpy(b_d, a_d, nbytes, cudamemcpydevicetodevice); cudamemcpy(b_h, b_d, nbytes, cudamemcpydeviceto); } for (i=0; i< N; i++) assert( a_h[i] == b_h[i] ); free(a_h); free(b_h); cudafree(a_d); cudafree(b_d); return 0;

15 データ移動の例 int main(void) { float *a_h, *b_h; // host data float *a_d, *b_d; // device data int N = 14, nbytes, i ; nbytes = N*sizeof(float); a_h = (float *)malloc(nbytes); b_h = (float *)malloc(nbytes); cudamalloc((void **) &a_d, nbytes); cudamalloc((void **) &b_d, nbytes); for (i=0, i<n; i++) a_h[i] = 100.f + i; a_h b_h Device a_d b_d cudamemcpy(a_d, a_h, nbytes, cudamemcpytodevice); cudamemcpy(b_d, a_d, nbytes, cudamemcpydevicetodevice); cudamemcpy(b_h, b_d, nbytes, cudamemcpydeviceto); } for (i=0; i< N; i++) assert( a_h[i] == b_h[i] ); free(a_h); free(b_h); cudafree(a_d); cudafree(b_d); return 0;

16 データ移動の例 int main(void) { float *a_h, *b_h; // host data float *a_d, *b_d; // device data int N = 14, nbytes, i ; nbytes = N*sizeof(float); a_h = (float *)malloc(nbytes); b_h = (float *)malloc(nbytes); cudamalloc((void **) &a_d, nbytes); cudamalloc((void **) &b_d, nbytes); for (i=0, i<n; i++) a_h[i] = 100.f + i; a_h b_h Device a_d b_d cudamemcpy(a_d, a_h, nbytes, cudamemcpytodevice); cudamemcpy(b_d, a_d, nbytes, cudamemcpydevicetodevice); cudamemcpy(b_h, b_d, nbytes, cudamemcpydeviceto); } for (i=0; i< N; i++) assert( a_h[i] == b_h[i] ); free(a_h); free(b_h); cudafree(a_d); cudafree(b_d); return 0;

17 データ移動の例 int main(void) { float *a_h, *b_h; // host data float *a_d, *b_d; // device data int N = 14, nbytes, i ; nbytes = N*sizeof(float); a_h = (float *)malloc(nbytes); b_h = (float *)malloc(nbytes); cudamalloc((void **) &a_d, nbytes); cudamalloc((void **) &b_d, nbytes); for (i=0, i<n; i++) a_h[i] = 100.f + i; a_h b_h Device a_d b_d cudamemcpy(a_d, a_h, nbytes, cudamemcpytodevice); cudamemcpy(b_d, a_d, nbytes, cudamemcpydevicetodevice); cudamemcpy(b_h, b_d, nbytes, cudamemcpydeviceto); } for (i=0; i< N; i++) assert( a_h[i] == b_h[i] ); free(a_h); free(b_h); cudafree(a_d); cudafree(b_d); return 0;

18 データ移動の例 int main(void) { float *a_h, *b_h; // host data float *a_d, *b_d; // device data int N = 14, nbytes, i ; Device nbytes = N*sizeof(float); a_h = (float *)malloc(nbytes); b_h = (float *)malloc(nbytes); cudamalloc((void **) &a_d, nbytes); cudamalloc((void **) &b_d, nbytes); for (i=0, i<n; i++) a_h[i] = 100.f + i; cudamemcpy(a_d, a_h, nbytes, cudamemcpytodevice); cudamemcpy(b_d, a_d, nbytes, cudamemcpydevicetodevice); cudamemcpy(b_h, b_d, nbytes, cudamemcpydeviceto); } for (i=0; i< N; i++) assert( a_h[i] == b_h[i] ); free(a_h); free(b_h); cudafree(a_d); cudafree(b_d); return 0;

19 CUDA プログラミングの基本 パート I - ソフトウェアスタックとメモリ管理

1. GPU コンピューティング GPU コンピューティング GPUによる 汎用コンピューティング GPU = Graphics Processing Unit CUDA Compute Unified Device Architecture NVIDIA の GPU コンピューティング環境 Lin

1. GPU コンピューティング GPU コンピューティング GPUによる 汎用コンピューティング GPU = Graphics Processing Unit CUDA Compute Unified Device Architecture NVIDIA の GPU コンピューティング環境 Lin Windows で始める CUDA 入門 GTC 2013 チュートリアル エヌビディアジャパン CUDA エンジニア森野慎也 1. GPU コンピューティング GPU コンピューティング GPUによる 汎用コンピューティング GPU = Graphics Processing Unit CUDA Compute Unified Device Architecture NVIDIA の GPU コンピューティング環境

More information

Slide 1

Slide 1 CUDA プログラミングの基本 パート II - カーネル CUDA の基本の概要 パート I CUDAのソフトウェアスタックとコンパイル GPUのメモリ管理 パート II カーネルの起動 GPUコードの具体像 注 : 取り上げているのは基本事項のみです そのほか多数の API 関数についてはプログラミングガイドを ご覧ください GPU 上でのコードの実行 カーネルは C 関数 + 多少の制約 ホストメモリはアクセスできない戻り値型は

More information

untitled

untitled GPGPU NVIDACUDA Learn More about CUDA - NVIDIA http://www.nvidia.co.jp/object/cuda_education_jp.html NVIDIA CUDA programming Guide CUDA http://www.sintef.no/upload/ikt/9011/simoslo/evita/2008/seland.pdf

More information

TSUBAME2.0におけるGPUの 活用方法

TSUBAME2.0におけるGPUの 活用方法 GPU プログラミング 基礎編 東京工業大学学術国際情報センター 1. GPU コンピューティングと TSUBAME2.0 スーパーコンピュータ GPU コンピューティングとは グラフィックプロセッサ (GPU) は グラフィック ゲームの画像計算のために 進化を続けてきた 現在 CPU のコア数は 2~12 個に対し GPU 中には数百コア その GPU を一般アプリケーションの高速化に利用! GPGPU

More information

TSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日

TSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日 TSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日 目次 1. TSUBAMEのGPU 環境 2. プログラム作成 3. プログラム実行 4. 性能解析 デバッグ サンプルコードは /work0/gsic/seminars/gpu- 2011-09- 28 からコピー可能です 1.

More information

CUDA を用いた画像処理 画像処理を CUDA で並列化 基本的な並列化の考え方 目標 : 妥当な Naïve コードが書ける 最適化の初歩がわかる ブロックサイズ メモリアクセスパターン

CUDA を用いた画像処理 画像処理を CUDA で並列化 基本的な並列化の考え方 目標 : 妥当な Naïve コードが書ける 最適化の初歩がわかる ブロックサイズ メモリアクセスパターン CUDA 画像処理入門 エヌビディアジャパン CUDA エンジニア森野慎也 GTC Japan 2014 CUDA を用いた画像処理 画像処理を CUDA で並列化 基本的な並列化の考え方 目標 : 妥当な Naïve コードが書ける 最適化の初歩がわかる ブロックサイズ メモリアクセスパターン RGB Y( 輝度 ) 変換 カラー画像から グレイスケールへの変換 Y = 0.299 R + 0.587

More information

ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014

ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014 ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014 コンカレントな処理の実行 システム内部の複数の処理を 平行に実行する CPU GPU メモリ転送 カーネル実行 複数のカーネル間 ストリーム GPU 上の処理キュー カーネル実行 メモリ転送の並列性 実行順序 DEFAULT STREAM Stream : GPU

More information

( CUDA CUDA CUDA CUDA ( NVIDIA CUDA I

(    CUDA CUDA CUDA CUDA (  NVIDIA CUDA I GPGPU (II) GPGPU CUDA 1 GPGPU CUDA(CUDA Unified Device Architecture) CUDA NVIDIA GPU *1 C/C++ (nvcc) CUDA NVIDIA GPU GPU CUDA CUDA 1 CUDA CUDA 2 CUDA NVIDIA GPU PC Windows Linux MaxOSX CUDA GPU CUDA NVIDIA

More information

07-二村幸孝・出口大輔.indd

07-二村幸孝・出口大輔.indd GPU Graphics Processing Units HPC High Performance Computing GPU GPGPU General-Purpose computation on GPU CPU GPU GPU *1 Intel Quad-Core Xeon E5472 3.0 GHz 2 6 MB L2 cache 1600 MHz FSB 80 GFlops 1 nvidia

More information

熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date Type URL Presentation

熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date Type URL Presentation 熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date 2011-03-17 Type URL Presentation http://hdl.handle.net/2298/23539 Right GPGPU による高速演算について 榎本昌一 東京大学大学院工学系研究科システム創成学専攻

More information

GPU 画像 動画処理用ハードウェア 低性能なプロセッサがたくさん詰まっている ピーク性能が非常に高い GPUを数値計算に用いるのがGPGPU Graphics Processing Unit General Purpose GPU TSUBAME2.0: GPUスパコン 本演習ではNVIDIA社の

GPU 画像 動画処理用ハードウェア 低性能なプロセッサがたくさん詰まっている ピーク性能が非常に高い GPUを数値計算に用いるのがGPGPU Graphics Processing Unit General Purpose GPU TSUBAME2.0: GPUスパコン 本演習ではNVIDIA社の 演習II (連続系アルゴリズム) 第2回: GPGPU 須田研究室 M1 本谷 徹 motoya@is.s.u-tokyo.ac.jp 2012/10/19 GPU 画像 動画処理用ハードウェア 低性能なプロセッサがたくさん詰まっている ピーク性能が非常に高い GPUを数値計算に用いるのがGPGPU Graphics Processing Unit General Purpose GPU TSUBAME2.0:

More information

CUDA 連携とライブラリの活用 2

CUDA 連携とライブラリの活用 2 1 09:30-10:00 受付 10:00-12:00 Reedbush-H ログイン GPU 入門 13:30-15:00 OpenACC 入門 15:15-16:45 OpenACC 最適化入門と演習 17:00-18:00 OpenACC の活用 (CUDA 連携とライブラリの活用 ) CUDA 連携とライブラリの活用 2 3 OpenACC 簡単にGPUプログラムが作成できる それなりの性能が得られる

More information

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx GPU のプログラム構造 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 GPU プログラミング環境 (CUDA) GPU プログラムの実行の流れ CUDA によるプログラムの記述 カーネル (GPU で処理する関数 ) の構造 記述方法とその理由 GPU 固有のパラメータの確認 405 GPU(Graphics Processing Unit) とは 画像処理専用のハードウェア 具体的には画像処理用のチップ

More information

Microsoft PowerPoint - 先端GPGPUシミュレーション工学特論(web).pptx

Microsoft PowerPoint - 先端GPGPUシミュレーション工学特論(web).pptx 複数 GPU の利用 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 並列アーキテクチャと並列処理の分類 OpenMP 複数 GPU の利用 GPU Direct によるデータ通信 939 複数の GPU を利用する目的 Grouse の 1 ノードには 4 台の GPU を搭載 Tesla M2050 1T FLOPS/ 台 3 GB/ 台 4 台全てを使う事で期待できる性能 GPU を

More information

! 行行 CPUDSP PPESPECell/B.E. CPUGPU 行行 SIMD [SSE, AltiVec] 用 HPC CPUDSP PPESPE (Cell/B.E.) SPE CPUGPU GPU CPU DSP DSP PPE SPE SPE CPU DSP SPE 2

! 行行 CPUDSP PPESPECell/B.E. CPUGPU 行行 SIMD [SSE, AltiVec] 用 HPC CPUDSP PPESPE (Cell/B.E.) SPE CPUGPU GPU CPU DSP DSP PPE SPE SPE CPU DSP SPE 2 ! OpenCL [Open Computing Language] 言 [OpenCL C 言 ] CPU, GPU, Cell/B.E.,DSP 言 行行 [OpenCL Runtime] OpenCL C 言 API Khronos OpenCL Working Group AMD Broadcom Blizzard Apple ARM Codeplay Electronic Arts Freescale

More information

NUMAの構成

NUMAの構成 GPU のプログラム 天野 アクセラレータとは? 特定の性質のプログラムを高速化するプロセッサ 典型的なアクセラレータ GPU(Graphic Processing Unit) Xeon Phi FPGA(Field Programmable Gate Array) 最近出て来た Deep Learning 用ニューロチップなど Domain Specific Architecture 1GPGPU:General

More information

CUDA基礎1

CUDA基礎1 CUDA 基礎 1 東京工業大学 学術国際情報センター 黄遠雄 2016/6/27 第 20 回 GPU コンピューティング講習会 1 ヘテロジニアス コンピューティング ヘテロジニアス コンピューティング (CPU + GPU) は広く使われている Financial Analysis Scientific Simulation Engineering Simulation Data Intensive

More information

AquesTalk プログラミングガイド

AquesTalk プログラミングガイド AquesTalk プログラミングガイド ( 株 ) アクエスト 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk をアプリケーションに組み込んで使用するためのプログラミングに関して 方法および注意点を示したものです AquesTalk には 2 種類のライブラリがあります 音声データをメモリ上に生成するものと サウンドデバイスに出力する 2 種類があります 使用するアプリケーションに応じて選択してください

More information

RICCについて

RICCについて RICC 1 RICC 2 RICC 3 RICC GPU 1039Nodes 8312core) 93.0GFLOPS, 12GB(mem), 500GB (hdd) DDR IB!1 PC100Nodes(800core) 9.3 GPGPU 93.3TFLOPS HPSS (4PB) (550TB) 0.24 512GB 1500GB MDGRAPE33TFLOPS MDGRAPE-3 64

More information

Microsoft PowerPoint _OpenCAE並列計算分科会.pptx

Microsoft PowerPoint _OpenCAE並列計算分科会.pptx 地球流体力学に関する GPGPU を用いた数値計算 神戸大学惑星科学研究センター西澤誠也 地球流体力学とは 地球 惑星に関連がある流体の力学 回転, 重力の影響 e.g. 大気, 海洋, マントル 数値計算は天気予報 & 弾道軌道予測から始まった ベクトル計算機 地球流体の計算はベクトル長が長いものが多い ベクトル計算機の凋落 某社の次世代スパコンからの撤退 個人的スパコンの将来予想 個々の演算器はシンプルに

More information

「RAD Studio XE5によるマルチ言語/マルチデバイス開発の進め方」

「RAD Studio XE5によるマルチ言語/マルチデバイス開発の進め方」 C1 Delphi/C++ チュートリアルセッション RAD Studio XE5 によるマルチ言語 / マルチデバイス開発の進め方 エンバカデロ テクノロジーズエヴァンジェリスト高橋智宏 アジェンダ RAD Studio XE5 の概要 Delphi or C++ Intel or ARM Windows / OS X / ios / Android プロジェクトとは? FireMonkey HD

More information

GPU チュートリアル :OpenACC 篇 Himeno benchmark を例題として 高エネルギー加速器研究機構 (KEK) 松古栄夫 (Hideo Matsufuru) 1 December 2018 HPC-Phys 理化学研究所 共通コードプロジェクト

GPU チュートリアル :OpenACC 篇 Himeno benchmark を例題として 高エネルギー加速器研究機構 (KEK) 松古栄夫 (Hideo Matsufuru) 1 December 2018 HPC-Phys 理化学研究所 共通コードプロジェクト GPU チュートリアル :OpenACC 篇 Himeno benchmark を例題として 高エネルギー加速器研究機構 (KEK) 松古栄夫 (Hideo Matsufuru) 1 December 2018 HPC-Phys 勉強会 @ 理化学研究所 共通コードプロジェクト Contents Hands On 環境について Introduction to GPU computing Introduction

More information

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments 計算機アーキテクチャ第 11 回 マルチプロセッサ 本資料は授業用です 無断で転載することを禁じます 名古屋大学 大学院情報科学研究科 准教授加藤真平 デスクトップ ジョブレベル並列性 スーパーコンピュータ 並列処理プログラム プログラムの並列化 for (i = 0; i < N; i++) { x[i] = a[i] + b[i]; } プログラムの並列化 x[0] = a[0] + b[0];

More information

3次多項式パラメタ推定計算の CUDAを用いた実装 (CUDAプログラミングの練習として) Implementation of the Estimation of the parameters of 3rd-order-Polynomial with CUDA

3次多項式パラメタ推定計算の CUDAを用いた実装 (CUDAプログラミングの練習として)  Implementation of the Estimation of the parameters of 3rd-order-Polynomial with CUDA 3 次多項式パラメタ推定計算の CUDA を用いた実装 (CUDA プログラミングの練習として ) Estimating the Parameters of 3rd-order-Polynomial with CUDA ISS 09/11/12 問題の選択 目的 CUDA プログラミングを経験 ( 試行錯誤と習得 ) 実際に CPU のみの場合と比べて高速化されることを体験 問題 ( インプリメントする内容

More information

1. マシンビジョンにおける GPU の活用

1. マシンビジョンにおける GPU の活用 CUDA 画像処理入門 GTC 213 チュートリアル エヌビディアジャパン CUDA エンジニア森野慎也 1. マシンビジョンにおける GPU の活用 1. 医用画像処理における GPU の活用 CT や MRI から画像を受信して三次元画像の構築をするシステム 2 次元スキャンデータから 3 次元 4 次元イメージの高速生成 CUDA 化により画像処理速度を約 2 倍に高速化 1. CUDA で画像処理

More information

Microsoft PowerPoint - GPU_computing_2013_01.pptx

Microsoft PowerPoint - GPU_computing_2013_01.pptx GPU コンピューティン No.1 導入 東京工業大学 学術国際情報センター 青木尊之 1 GPU とは 2 GPGPU (General-purpose computing on graphics processing units) GPU を画像処理以外の一般的計算に使う GPU の魅力 高性能 : ハイエンド GPU はピーク 4 TFLOPS 超 手軽さ : 普通の PC にも装着できる 低価格

More information

untitled

untitled A = QΛQ T A n n Λ Q A = XΛX 1 A n n Λ X GPGPU A 3 T Q T AQ = T (Q: ) T u i = λ i u i T {λ i } {u i } QR MR 3 v i = Q u i A {v i } A n = 9000 Quad Core Xeon 2 LAPACK (4/3) n 3 O(n 2 ) O(n 3 ) A {v i }

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 基幹 2 ( 月 4) 11: 動的メモリ確保 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2014-06-22 1 まとめ : ポインタを使った処理 内容 説明 呼び出し元の変数を書き換える第 9 回 文字列を渡す 配列を渡す 第 10 回 ファイルポインタ

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 基幹 7 ( 水 5) 11: 動的メモリ確保 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2016-06-22 1 まとめ : ポインタを使った処理 内容呼び出し元の変数を書き換える文字列を渡す 配列を渡すファイルポインタ複数の値を返す大きな領域を確保する

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 総機 1 ( 月 1) 11: 動的メモリ確保 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2015-06-22 1 まとめ : ポインタを使った処理 内容 説明 呼び出し元の変数を書き換える第 9 回 文字列を渡す 配列を渡す 第 10 回 ファイルポインタ

More information

AquesTalk for WinCE プログラミングガイド

AquesTalk for WinCE プログラミングガイド AquesTalk for WinCE プログラミングガイド ( 株 ) アクエスト 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk for WinCE ( 以下 AquesTalk) をアプリケーションに組み込んで使用するためのプログラミングに関して 方法および注意点を示したものです AquesTalk には 2 種類のライブラリがあります 音声データをメモリ上に生成するものと

More information

Insert your Title here

Insert your Title here マルチコア マルチスレッド環境での静的解析ツールの応用 米 GrammaTech 社 CodeSonar によるスレッド間のデータ競合の検出 2013 GrammaTech, Inc. All rights reserved Agenda 並列実行に起因する不具合の摘出 なぜ 並列実行されるプログラミングは難しいのか データの競合 デッドロック どのようにして静的解析ツールで並列実行の問題を見つけるのか?

More information

目的と目次 OpenCL はこれからのマルチコアプログラミングの主流 ( かも ) GPU (NVIDIA, AMD/ATI) Cell B.E. 組み込みプロセッサ 共通コードとして OpenCL に対応するために必要な準備を考える 目次 基礎編 ( 今回 ) OpenCL とは 実践編 高速化の

目的と目次 OpenCL はこれからのマルチコアプログラミングの主流 ( かも ) GPU (NVIDIA, AMD/ATI) Cell B.E. 組み込みプロセッサ 共通コードとして OpenCL に対応するために必要な準備を考える 目次 基礎編 ( 今回 ) OpenCL とは 実践編 高速化の OpenCL と共通コード (1) 基礎編 Typo 訂正版 : 4 Dec 2010 Hideo Matsufuru (KEK) 3 Dec 2010 共通コードミーティング @ 筑波大計算科学研究センター 目的と目次 OpenCL はこれからのマルチコアプログラミングの主流 ( かも ) GPU (NVIDIA, AMD/ATI) Cell B.E. 組み込みプロセッサ 共通コードとして OpenCL

More information

Microsoft PowerPoint - GPUシンポジウム _d公開版.ppt [互換モード]

Microsoft PowerPoint - GPUシンポジウム _d公開版.ppt [互換モード] 200/0/9 数値流体解析の並列効率とその GPU による高速化の試み 清水建設 ( 株 ) 技術研究所 PHAM VAN PHUC ( ファムバンフック ) 流体計算時間短縮と GPU の活用の試み 現 CPUとの比較によりGPU 活用の可能性 現 CPU の最大利用 ノード内の最大計算資源の利用 すべてCPUコアの利用 適切なアルゴリズムの利用 CPU コア性能の何倍? GPU の利用の試み

More information

N 体問題 長岡技術科学大学電気電子情報工学専攻出川智啓

N 体問題 長岡技術科学大学電気電子情報工学専攻出川智啓 N 体問題 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 天体の運動方程式 天体運動の GPU 実装 最適化による性能変化 #pragma unroll 855 計算の種類 画像処理, 差分法 空間に固定された観測点を配置 観測点 ( 固定 ) 観測点上で物理量がどのように変化するかを追跡 Euler 型 多粒子の運動 観測点を配置せず, 観測点が粒子と共に移動 Lagrange 型 観測点

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 基幹 7 ( 水 5) 1 11: 動的メモリ確保 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/teachers/w48369 2/CPR1/ 2017-06-28 まとめ : ポインタを使った処理 2 内容呼び出し元の変数を書き換える文字列を渡す 配列を渡すファイルポインタ複数の値を返す大きな領域を確保する

More information

04-process_thread_2.ppt

04-process_thread_2.ppt オペレーティングシステム ~ 保護とシステムコール ~ 山田浩史 hiroshiy @ cc.tuat.ac.jp 2015/05/08 復習 : OS の目的 ( 今回の話題 ) 裸のコンピュータを抽象化 (abstraction) し より使いやすく安全なコンピュータとして見せること OS はハードウェアを制御し アプリケーションの効率的な動作や容易な開発を支援する OS がないと 1 つしかプログラムが動作しない

More information

いまからはじめる組み込みGPU実装

いまからはじめる組み込みGPU実装 いまからはじめる組み込み GPU 実装 ~ コンピュータービジョン ディープラーニング編 ~ MathWorks Japan アプリケーションエンジニアリング部シニアアプリケーションエンジニア大塚慶太郎 2017 The MathWorks, Inc. 1 コンピュータービジョン ディープラーニングによる 様々な可能性 自動運転 ロボティクス 予知保全 ( 製造設備 ) セキュリティ 2 転移学習を使った画像分類

More information

概要 目的 CUDA Fortran の利用に関する基本的なノウハウを提供する 本チュートリアル受講後は Web 上で公開されている資料等を参照しながら独力で CUDA Fortran が利用できることが目標 対象 CUDA Fortran の利用に興味を抱いている方 前提とする知識 Fortran

概要 目的 CUDA Fortran の利用に関する基本的なノウハウを提供する 本チュートリアル受講後は Web 上で公開されている資料等を参照しながら独力で CUDA Fortran が利用できることが目標 対象 CUDA Fortran の利用に興味を抱いている方 前提とする知識 Fortran CUDA Fortran チュートリアル 2010 年 9 月 29 日 NEC 概要 目的 CUDA Fortran の利用に関する基本的なノウハウを提供する 本チュートリアル受講後は Web 上で公開されている資料等を参照しながら独力で CUDA Fortran が利用できることが目標 対象 CUDA Fortran の利用に興味を抱いている方 前提とする知識 Fortran を用いた Linux

More information

GPU のアーキテクチャとプログラム構造 長岡技術科学大学電気電子情報工学専攻出川智啓

GPU のアーキテクチャとプログラム構造 長岡技術科学大学電気電子情報工学専攻出川智啓 GPU のアーキテクチャとプログラム構造 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 GPU のアーキテクチャ CUDA CUDA によるプログラミング 58 GPU(Graphics Processing Unit) とは 画像処理専用のハードウェア 具体的には画像処理用のチップ チップ単体では販売されていない PCI Ex カードで販売 ( チップ単体と区別せずに GPU と呼ぶことも多い

More information

AquesTalk Win Manual

AquesTalk Win Manual AquesTalk Win マニュアル 株式会社アクエスト http://www.a-quest.com/ 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk をアプリケーションに組み込んで使用するためのプログラミングに関して 方法および注意点を示したものです AquesTalk には 2 種類のライブラリがあります 音声データをメモリ上に生成するものと サウンドデバイスに出力する 2

More information

GPU Computing on Business

GPU Computing on Business GPU Computing on Business 2010 Numerical Technologies Incorporated http://www.numtech.com/ 1 2 3 4 5 6 7 8 9 GPU Computing $$$ Revenue Total Cost low BEP Quantity 10 11 12 13 14 15 GPU Computing $$$ Revenue

More information

関数 C 言語は関数の言語 関数とは 関数の定義 : f(x) = x * x ; 使うときは : y = f(x) 戻り値 引数

関数 C 言語は関数の言語 関数とは 関数の定義 : f(x) = x * x ; 使うときは : y = f(x) 戻り値 引数 関数 C 言語は関数の言語 関数とは 関数の定義 : f(x) = x * x ; 使うときは : y = f(x) 戻り値 引数 関数の定義 戻り値の型 関数名 引数の型 引数の名前 int funcname ( int a, char b) { int c ; c = a * b ; return c ; 引数の型 引数の名前 戻り値 戻り値の型は int 変数 c の型も int return

More information

PowerPoint Presentation

PowerPoint Presentation ヘテロジニアスな環境におけるソフトウェア開発 Agenda 今日の概要 ヘテロジニアスな環境の登場 ホモジニアスからヘテロジニアスへ ヘテロジニアスなアーキテクチャ GPU CUDA OpenACC, XeonPhi 自分のプログラムを理解するために デバッガ 共通の操作体験 TotalView 続きはブースで より速く ホモジーニアスな並列 HPC 銀河生成 金融のリスク計算 車の衝突解析 製薬

More information

GPU GPU CPU CPU CPU GPU GPU N N CPU ( ) 1 GPU CPU GPU 2D 3D CPU GPU GPU GPGPU GPGPU 2 nvidia GPU CUDA 3 GPU 3.1 GPU Core 1

GPU GPU CPU CPU CPU GPU GPU N N CPU ( ) 1 GPU CPU GPU 2D 3D CPU GPU GPU GPGPU GPGPU 2 nvidia GPU CUDA 3 GPU 3.1 GPU Core 1 GPU 4 2010 8 28 1 GPU CPU CPU CPU GPU GPU N N CPU ( ) 1 GPU CPU GPU 2D 3D CPU GPU GPU GPGPU GPGPU 2 nvidia GPU CUDA 3 GPU 3.1 GPU Core 1 Register & Shared Memory ( ) CPU CPU(Intel Core i7 965) GPU(Tesla

More information

Microsoft Word - 2stellaris_ccs.doc

Microsoft Word - 2stellaris_ccs.doc Code Composer Studio 概要 Module Topics Code Composer Studio 概要... 2-1 Code Composer Studio... 2-2 Code Composer Studio v4 概要... 2-2 ワークスペース...2-3 プロジェクト... 2-4 ターゲット コンフィグレーション... 2-4 ビルド オプション... 2-6 Lab2

More information

GPU CUDA CUDA 2010/06/28 1

GPU CUDA CUDA 2010/06/28 1 GPU CUDA CUDA 2010/06/28 1 GPU NVIDIA Mark Harris, Optimizing Parallel Reduction in CUDA http://developer.download.nvidia.com/ compute/cuda/1_1/website/data- Parallel_Algorithms.html#reduction CUDA SDK

More information

日本アンドロイドの会 四国支部 Kickoff ミーティング in ABC2009

日本アンドロイドの会 四国支部 Kickoff ミーティング in ABC2009 NDK の使い方 Android のネイティブ開発環境 2009.8.14 20:25-21:00 京都リサーチパーク 4 号館 2F ルーム 2A 日本 Android の会幹事四国支部長 瀬戸直喜 この資料の一部は Google が作成 提供しているコンテンツをベースに変更したもので クリエイティブコモンズの表示 2.5 ライセンスに記載の条件に従って使用しています アジェンダ 概要 イントロダクション

More information

Microsoft PowerPoint - suda.pptx

Microsoft PowerPoint - suda.pptx GPU の HWアーキテクチャと高性能化手法 須田礼仁 ( 東京大学 ) 2011/03/22 GPU 高性能プログラミング GPU のハードウェアを理解する CUDA のソフトウェアを理解する CUDA でプログラムを書くのは難しくないが, CUDA で高速なプログラムを書くのは難しい どうすれば遅くなるかを理解する! 効果が大きいものから順に説明します 1 高性能プログラミングの手順 1. 現在のコードの,

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 総機 1 ( 月 1) 14: 発展事項 2014-07-13 1 今日の内容 これまでの講義で説明していない事項についていくつか簡単に紹介する 文法 標準入出力ファイル 異常終了 短絡評価 文字定数の型 キャスト 変数の宣言位置 グローバル変数 静的変数 (static) const 変数 プリプロセッサ ディレクティブ マクロ ファイルの読み込み 数学関数のエラーチェック

More information

GPGPUクラスタの性能評価

GPGPUクラスタの性能評価 2008 年度理研 HPC シンポジウム第 3 世代 PC クラスタ GPGPU クラスタの性能評価 2009 年 3 月 12 日 富士通研究所成瀬彰 発表の概要 背景 GPGPU による高速化 CUDA の概要 GPU のメモリアクセス特性調査 姫野 BMT の高速化 GPGPU クラスタによる高速化 GPU Host 間のデータ転送 GPU-to-GPU の通信性能 GPGPU クラスタ上での姫野

More information

untitled

untitled A = QΛQ T A n n Λ Q A = XΛX 1 A n n Λ X GPGPU A 3 T Q T AQ = T (Q: ) T u i = λ i u i T {λ i } {u i } QR MR 3 v i = Q u i A {v i } A n = 9000 Quad Core Xeon 2 LAPACK (4/3) n 3 O(n 2 ) O(n 3 ) A {v i }

More information

N08

N08 CPU のキモチ C.John 自己紹介 英語きらい 絵かけない 人の話を素直に信じない CPUにキモチなんてない お詫び 予告ではCとC# とありましたがやる気と時間の都合上 C++のみを対象とします 今日のネタ元 MSDN マガジン 2010 年 10 月号 http://msdn.microsoft.com/ja-jp/magazine/cc850829.aspx Windows と C++

More information

CashDrawer ライブラリ API 仕様書 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev / 10

CashDrawer ライブラリ API 仕様書 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev / 10 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev. 00.0.04 1 / 10 目次 1. ファイル構成... 3 2. 環境 3 2.1. 動作環境 OS... 3 2.2. コンパイル時の注意点... 3 2.3. USB ドライバ... 3 3. 関数一覧... 4 3.1. USB 接続確認処理 (CD_checkConnect CD_checkConnect)

More information

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx GPU のメモリ階層 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 GPU のメモリ階層 グローバルメモリ 共有メモリ モザイク処理への適用 コンスタントメモリ 空間フィルタへの適用 577 GPU の主要部品 基盤 GPU( チップ )+ 冷却部品 画面出力端子 電源入力端子 メモリ 特性の把握が重要 電源入力端子 画面出力端子 メモリ チップ PCI Ex 端子 http://www.geforce.com/whats

More information

IntroductionForGR-PEACH.pptx

IntroductionForGR-PEACH.pptx 1 Arduino,mbed,TOPPERS を全部試せる! GR-PEACH 向けソフトウェアプラットフォームのご紹介 松原豊 (Yutaka MATSUBARA) 名古屋 学 学院情報科学研究科助教 TOPPERS プロジェクト運営委員 / 開発者会議実 委員 E-mail: yutaka@ertl.jp Web: http://www.ertl.jp/~yutaka 2 GR-PEACH とは?

More information

概要 プログラミング論 変数のスコープ, 記憶クラス. メモリ動的確保. 変数のスコープ 重要. おそらく簡単. 記憶クラス 自動変数 (auto) と静的変数 (static). スコープほどではないが重要.

概要 プログラミング論 変数のスコープ, 記憶クラス. メモリ動的確保. 変数のスコープ 重要. おそらく簡単. 記憶クラス 自動変数 (auto) と静的変数 (static). スコープほどではないが重要. 概要 プログラミング論 変数のスコープ, 記憶クラス. メモリ動的確保. 変数のスコープ 重要. おそらく簡単. 記憶クラス 自動変数 (auto) と静的変数 (static). スコープほどではないが重要. http://www.ns.kogakuin.ac.jp/~ct13140/progc/ C-2 ブロック 変数のスコープ C 言語では, から をブロックという. for( ) if( )

More information

GPUを用いたN体計算

GPUを用いたN体計算 単精度 190Tflops GPU クラスタ ( 長崎大 ) の紹介 長崎大学工学部超高速メニーコアコンピューティングセンターテニュアトラック助教濱田剛 1 概要 GPU (Graphics Processing Unit) について簡単に説明します. GPU クラスタが得意とする応用問題を議論し 長崎大学での GPU クラスタによる 取組方針 N 体計算の高速化に関する研究内容 を紹介します. まとめ

More information

インテル(R) Visual Fortran コンパイラ 10.0

インテル(R) Visual Fortran コンパイラ 10.0 インテル (R) Visual Fortran コンパイラー 10.0 日本語版スペシャル エディション 入門ガイド 目次 概要インテル (R) Visual Fortran コンパイラーの設定はじめに検証用ソースファイル適切なインストールの確認コンパイラーの起動 ( コマンドライン ) コンパイル ( 最適化オプションなし ) 実行 / プログラムの検証コンパイル ( 最適化オプションあり ) 実行

More information

rank ”«‘‚“™z‡Ì GPU ‡É‡æ‡éŁÀŠñ›»

rank ”«‘‚“™z‡Ì GPU ‡É‡æ‡éŁÀŠñ›» rank GPU ERATO 2011 11 1 1 / 26 GPU rank/select wavelet tree balanced parenthesis GPU rank 2 / 26 GPU rank/select wavelet tree balanced parenthesis GPU rank 2 / 26 GPU rank/select wavelet tree balanced

More information

24th Embarcadero Developer Camp

24th Embarcadero Developer Camp 17 Th Developer Camp B4 Delphi/C++Builder テクニカルワークショップ Delphi / C++Builder 旧バージョンアプリケーションの移行 エンバカデロ テクノロジーズサポートチーム with 高橋智宏 1 17 Th Developer Camp Delphi Q1 2 midas.dll Q. 別々のバージョンで作成したデータベースアプリケーションがあります

More information

GPGPUイントロダクション

GPGPUイントロダクション 大島聡史 ( 並列計算分科会主査 東京大学情報基盤センター助教 ) GPGPU イントロダクション 1 目的 昨今注目を集めている GPGPU(GPU コンピューティング ) について紹介する GPGPU とは何か? 成り立ち 特徴 用途 ( ソフトウェアや研究例の紹介 ) 使い方 ( ライブラリ 言語 ) CUDA GPGPU における課題 2 GPGPU とは何か? GPGPU General-Purpose

More information

AquesTalk2 Win マニュアル

AquesTalk2 Win マニュアル 株式会社 AQUEST http://www.a-quest.com/ AquesTalk2 Win Manual 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk2 Win をアプリケーションに組み込んで使用するためのプログラミングに関しての方法および注意点を示したものです AquesTalk2 は 簡単に小型機器への組み込みが出来る音声合成ミドルウェアです このライブラリを用いることで

More information

GPGPU によるアクセラレーション環境について

GPGPU によるアクセラレーション環境について GPGPU によるアクセラレーション環境について 長屋貴量 自然科学研究機構分子科学研究所技術課計算科学技術班 概要 GPGPU とは 単純で画一的なデータを一度に大量に処理することに特化したグラフィックカードの演算資源を 画像処理以外の汎用的な目的に応用する技術の一つである 近年 その演算能力は CPU で通常言われるムーアの法則に則った場合とは異なり 飛躍的に向上しており その演算性能に魅力を感じた各分野での応用が広がってきている

More information

POSIXスレッド

POSIXスレッド POSIX スレッド (3) システムプログラミング 2011 年 11 月 7 日 建部修見 同期の戦略 単一大域ロック スレッドセーフ関数 構造的コードロッキング 構造的データロッキング ロックとモジュラリティ デッドロック 単一大域ロック (single global lock) 単一のアプリケーションワイドの mutex スレッドが実行するときに獲得, ブロックする前にリリース どのタイミングでも一つのスレッドが共有データをアクセスする

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 05 関数 (1) 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 関数とは p.162 数学的には入力に対して出力が決まるもの C 言語では入出力が定まったひとまとまりの処理 入力や出力はあるときもないときもある main() も関数の一種 何かの仕事をこなしてくれる魔法のブラックボックス 例 : printf() 関数中で行われている処理の詳細を使う側は知らないが,

More information

DPC-0401

DPC-0401 Interface USB Driver (I/O-CD) DPC-0401 USB 拡張 I/O 用 Windows ドライバ Help for Windows www.interface.co.jp 目次 第 1 章はじめに...3 1.1 概要...3 1.2 各 I/O に対応したドライバ...3 第 2 章製品仕様...4 2.1 基本仕様...4 2.2 製品構成...4 2.3 クラスライブラリの参照方法...5

More information

統合開発環境CubeSuite+ V へのバージョンアップのお知らせ

統合開発環境CubeSuite+ V へのバージョンアップのお知らせ ツールニュース RENESAS TOOL NEWS 2013 年 04 月 16 日 : 130416/tn1 統合開発環境 CubeSuite+ V2.00.00 への バージョンアップのお知らせ 統合開発環境 CubeSuite+ を V1.03.00 から V2.00.00 へバージョンアップしました 1. アップデート対象バージョン CubeSuite+ 共通部分 V1.00.00~V1.03.00

More information

memo

memo 計数工学プログラミング演習 ( 第 3 回 ) 2017/04/25 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 内容 ポインタの続き 引数の値渡しと参照渡し 構造体 2 ポインタで指されるメモリへのアクセス double **R; 型 R[i] と *(R+i) は同じ意味 意味 R double ** ポインタの配列 ( の先頭 ) へのポインタ R[i]

More information

7th CodeGear Developer Camp

7th CodeGear Developer Camp A6 Delphi テクニカルセッション RTL ソースを利用する Delphi デバッグ技法 CodeGear R&D 有澤雄志 Copyright 2007 CodeGear. All Rights Reserved. 本文書の一部または全部の転載を禁止します 1 アジェンダ RTL の利用準備 IDE から使ってみる Copyright 2007 CodeGear. All Rights Reserved.

More information

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx 並列計算の概念 ( プロセスとスレッド ) 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 並列計算の分類 並列アーキテクチャ 並列計算機システム 並列処理 プロセスとスレッド スレッド並列化 OpenMP プロセス並列化 MPI 249 CPU の性能の変化 動作クロックを向上させることで性能を向上 http://pc.watch.impress.co.jp/docs/2003/0227/kaigai01.htm

More information

7th CodeGear Developer Camp

7th CodeGear Developer Camp A3 C++Builder テクニカルセッション wxforms で始める wxwidgets プログラミング CodeGear 高橋智宏 1 アジェンダ wxwidgets とは? wxforms とは? wxforms のインストール & 使い方 MacOS X(10.4.x, Carbon) でのビルド Linux(CentOS 4.5, GTK2) でのビルド 2 wxwidgets とは?

More information

CuPy とは何か?

CuPy とは何か? GTC Japan 2018 CuPy NumPy 互換 GPU ライブラリによる Python での高速計算 Preferred Networks 取締役最高技術責任者奥田遼介 okuta@preferred.jp CuPy とは何か? CuPy とは GPU を使って NumPy 互換の機能を提供するライブラリ import numpy as np X_cpu = np.zeros((10,))

More information

CudaWaveField

CudaWaveField CudaWaveField 2012 3 22 2 CudaWaveField Rel 1.0.0 Rel 1.0 CudaWaveField ( cwfl) / cwfl cwfl http://www.laser.ee.kansai-u.ac.jp/wavefieldtools Note Acrobat Reader 3 I CudaWaveField 9 1 11 1.1 CudaWaveField......................

More information

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート ) TrueSTUDIO 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです 無料の試用版開発ツール Atollic TrueSTUDIO for ARM Lite で作成したプロジェクトです ビルド可能なプログラムのコードサイズが 32Kbyte 以内の制限があります プログラムの開始番地は 0x08000000

More information

INplc-Driver[INFnCtrl]ユーザーズガイド

INplc-Driver[INFnCtrl]ユーザーズガイド INtime INFnCtrl ユーザーズガイド Rev. 1.0.0.0 はじめに 本ドキュメントについて P.1 第 1 章ドライバの設定 1.1. IO FWL 起動設定ツールの起動 P.2 1.2. ドライバのロード設定の編集 P.3 1.3. 設定の適用 P.3 第 2 章プログラミング 2.1. ファームウェアライブラリ P.4 2.2. 基本的な使用手順 P.14 付録 ドライバの制限

More information

昨年度までの研究紹介 および 研究計画

昨年度までの研究紹介 および 研究計画 第 12 回 ICN 研究会ワークショップ Cefore で キャッシュプラグイン開発 2018 年 8 月 30 日 ( 木 ) キャッシュプラグイン csmgrd は起動時に使用するキャッシュプラグインを指定 Cache plugin: キャッシュデータ保存方式 Cache algorithm: キャッシュ選択 / 置換アルゴリズム Cache Plugin Cache algorithm csmgrd

More information

ユーザーマニュアル開発環境編

ユーザーマニュアル開発環境編 ユーザーマニュアル 開発環境編 目次 1 はじめに... 2 2 Intel Composer... 3 2.1 インストールパッケージ... 3 2.2 使用するコマンド... 3 2.3 環境設定... 4 2.4 コンパイラバージョンの変更... 5 2.5 ドキュメント... 6 2.6 サポート期間... 6 2.7 Intel Math Kernel Library... 7 2.8 コンパイルオプション...

More information

Microsoft PowerPoint _2.プログラミングの基礎_final.pptx

Microsoft PowerPoint _2.プログラミングの基礎_final.pptx RT ミドルウェアによるロボットプログラミング技術 2. プログラミングの基礎 概要 1. プログラミングの基礎 2. Linuxでのプログラミング 3. Windowsでのプログラミング 目標 : 1.Linux および Windows での開発手法 ( 主に C++) を学ぶ 2.CMake を利用して 同じプログラムを Linux と Windows とでコンパイルして動作させる 2 プログラミングの流れ

More information

AN1609 GNUコンパイラ導入ガイド

AN1609 GNUコンパイラ導入ガイド GNU コンパイラ導入ガイド 2 版 2017 年 04 月 20 日 1. GNU コンパイラの導入... 2 1.1 はじめに... 2 1.2 必要なプログラムとダウンロード... 3 1.2.1 GNU ツールチェインのダウンロード... 3 1.2.2 e 2 studio のダウンロード... 5 1.3 GNU ツールチェインのインストール... 7 1.4 e 2 studio のインストール...

More information

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc Article ID: NVSI-050090JP Created: 2005/04/20 Revised: Oracle Database10g VLM 環境での NetVault 動作検証 1. 検証目的 Linux 上で稼動する Oracle Database10g を大容量メモリ搭載環境で動作させる場合 VLM に対応したシステム設定を行います その環境において NetVault を使用し

More information

Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以

Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以 No. ESC-APN-026-02 Document No.: ESC-APN-026-02 adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以下 本書 ) は adviceluna にて下記 Linux 環境をデバッグする手順を説明した文書です Application Shared Library Loadable

More information

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt インテルコンパイラー 入門セミナー [ 対象製品 ] インテル C++ コンパイラー 9.1 Windows* 版インテル Visual Fortran コンパイラー 9.1 Windows* 版 資料作成 : エクセルソフト株式会社 Copyright 1998-2007 XLsoft Corporation. All Rights Reserved. 1 インテル コンパイラー入門 本セミナーの内容

More information

Microsoft PowerPoint _2.プログラミングの基礎_final

Microsoft PowerPoint _2.プログラミングの基礎_final RT ミドルウェアによるロボットプログラミング技術 2. プログラミングの基礎 概要 1. プログラミングの基礎 2. Linuxでのプログラミング 3. Windowsでのプログラミング 目標 : 1.Linux および Windows での開発手法 ( 主に C++) を学ぶ 2.CMake を利用して 同じプログラムを Linux と Windows とでコンパイルして動作させる 2 プログラミングの流れ

More information

150MHz 28 5 31 260MHz 24 25 28 5 31 24 28 5 31 1.... 1 1.1... 1 1.2... 1 1.3... 1 2.... 2 2.1... 2 2.2... 3 2.3... 7 2.4... 9 2.5... 11 3.... 12 3.1... 12 3.2... 13 3.3... 16 3.4... 24 4.... 32 4.1...

More information

TRQerS - Introduction

TRQerS - Introduction TRQerS 導入概要 横河ディジタルコンピュータ株式会社エンベデッドソリューション事業本部サポート部 (ESC-APN-035-02 Dec,25,2015) 1 システムマクロトレースの特徴 製品構成と導入フロー 2 システムマクロトレースの特徴 システムマクロトレース printf ログ出力の発展形 (printf より高速 文字列 / タグ情報 / タスク遷移 / 関数遷移 ) ハードウェアインターフェース

More information

OS

OS Operatig Systems カーネルとデバイスドライバ 2019-03 1 OS の構成要素 シェル ワープロ ブラウザ さまざまなソフトウェア ] ^ _ Z ` a b c d e ` f Y Z [ \ プロセス管理通信制御ファイルシステム メモリ管理割込み制御タイマ管理 デバイスドライバ 管理プログラム 基本ライブラリ デバイスドライバ CPU メモリ ストレージ さまざまなハードウェア

More information

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N GPU 1 1 2 1, 3 2, 3 (Graphics Unit: GPU) GPU GPU GPU Evaluation of GPU Computing Based on An Automatic Program Generation Technology Makoto Sugawara, 1 Katsuto Sato, 1 Kazuhiko Komatsu, 2 Hiroyuki Takizawa

More information

スライド 1

スライド 1 Red Hat Enterprise Linux Atomic Host のご紹介 レッドハット株式会社 v1.1 2015-02-09 RHEL Atomic Host のご紹介 自己紹介 中井悦司 ( なかいえつじ ) Twitter @enakai00 日々の仕事 Senior Solution Architect and Cloud Evangelist at Red Hat K.K. 企業システムでオープンソースの活用を希望される

More information

NetworkVantage 9

NetworkVantage 9 DevPartner エラー検出 はじめてのエラー検出 (Unmanaged VC++ 版 ) 本書は はじめてエラー検出を使用する際に参考していただくドキュメントです 詳細な情報につきましては 製品に付属しているオンラインドキュメントならびにオンラインヘルプをご参照ください なお 本書は Visual Studio 2010 をベースとして説明しております Visual Studio 6.0 の場合は

More information