MClibリファレンス
ID関連
- void setidx(int *id, int x)
- ID を格納する変数id のX 値をx に更新する.
- void setidy(int *id, int y)
- ID を格納する変数id のY 値をy に更新する.
- void setidxy(int *id, int x, int y)
- id をID(x,y) に更新する.
- int getidx(int id)
- ID を格納する変数id のX 値を返す.
- int getidy(int id)
- ID を格納する変数id のY 値を返す.
- int MC_get_id(int *id)
- 自身のID をid に格納する.
- int MC_get_rank(int *rank)
- メッシュサイズをid 格納する.id にはID のX 値とY 値がともに最大となるID を返す
時間
- int MC_sleep(long long unsigned int n)
- n サイクル経過後,関数を抜ける.
- int MC_clock(long long unsigned int *clock)
- 動作開始から現在までの所要サイクル数を取得しclock に格納する.
初期化/終了処理
- int MC_init(int *id_x, int *id_y, int *rank_x, int *rank_y)
- MClibの初期化を行う.
自身のID をid_x,id_y に,メッシュサイズをrank_x, rank_y に格納する.
- void MC_finalize()
- MClib の終了処理を行う.
DMA転送
- void MC_dma_put(int remote_id, void *remote_addr, void *local_addr, size_t size, int remote_stride, int local_stride)
- 自身のノードメモリから他のノードのノードメモリに対してデータを転送する.
自身のノードのアドレスlocal_addr からバイトアドレスlocal stride
飛ばしながらsize バイト読み出す.
読み出したデータをremote_id で示されるノードに対して転送し,
ノードのアドレスremote_addrからバイトアドレスremote_stride飛ばしながら書き込む.
- void MC_dma_put_4b(int remote_id, void *remote_addr, int data)
-
remote_idに4バイトのデータ(data)を転送する.
そのデータはアドレスremote_addrに書き込まれる.
- void MC_dma_get(int remote_id, void *remote_addr, void *local_addr, size_t size, int remote_stride, int local_stride)
- 他のノードのノードメモリから自身のノードメモリに対してデータを転送する.
remote_idで示されるノードのノードメモリのアドレスremote_addrから
バイトアドレスremote_stride飛ばしながらsizeバイト読み出す.
読み出したデータを自身のノードメモリのアドレスlocal_addrからバイトアドレス
local_stride飛ばしながら書き込む.
- void MC_dma_put64(int remote_id, uint064_t remote_addr, void *local_addr, size_t size, int local_stride)
- 自身のノードメモリからメイン メモリに対してデータを転送する.
自身のノードメモリのアドレスlocal_addrからバイトアドレス
local_stride飛ばしながらsizeバイト読み出す.
読み出したデータをremote_idで示されるノードに対して転送し,
メインメモリのアドレスremote_addr から連続して書き込む.
メインメモリ書き込み時のストライドは4で固定とし,
プログラマが指定することはできない.
- void MC_dma_get64(int remote_id, uint064_t remote_addr, void *local_addr, size_t size, int local_stride)
- メインメモリから自身のノードメモリに対してデータを転送する.
remote idで示されるメモリモジュールのメインメモリのアドレスremote_addr
から連続してsize バイト読み出す.
読み出したデータを自身のノードメモリのアドレスlocal_addrからバイトアドレス
local_stride飛ばしながら書き込む.
メインメモリから読み出す際のストライドは4で固定とし,
プログラマが指定することはできない.
M-Coreトップ
Copyright(c) 2010, Tokyo Tech Kise Laboratory. All rights reserved.