• 検索結果がありません。

京速コンピュータ「京」におけるPGASモデルによる気象コードNICAMの実装

N/A
N/A
Protected

Academic year: 2021

シェア "京速コンピュータ「京」におけるPGASモデルによる気象コードNICAMの実装"

Copied!
5
0
0

読み込み中.... (全文を見る)

全文

(1)Vol.2013-HPC-140 No.6 2013/7/31. 情報処理学会研究報告 IPSJ SIG Technical Report. 京速コンピュータ「京」における PGAS モデルによる 気象コード NICAM の実装 中尾 昌広1,2,a). 佐藤 三久1,2,3. 概要:PGAS モデル言語の 1 つである XcalableMP を用いて全球雲解像モデル NICAM の通信モジュー ルの実装を行い,その生産性と性能評価を京速コンピュータ「京」を用いて行った.生産性については,. MPI で記述された NICAM の一対一通信を XcalableMP が提供する coarray 記法を用いて記述すること で,その通信を簡易に表現することができた.また, 「京」において XcalableMP の coarray 記法で記述さ れたコードは, 「京」が提供している RDMA 機能を利用するようにコード変換されるため,その通信の高 速化を見込むことができる.XcalableMP で実装を行った NICAM を「京」を用いて性能評価した結果, 160 ノード利用時に全体として約 19%の高速化を達成することができた.. 1. はじめに 日本学術振興会・多国間国際研究協力事業 [1] の研究プロ. Atmospheric Model)[5] の通信モジュールを実装し,その 生産性を評価する.また京速コンピュー タ「京」(以下, 京)を用いた性能評価も行う.. ジェクトの 1 つである「エクサスケール・コンピューティ. 本稿の構成は次の通りである.2 章では PGAS モデルの. ングによる精緻な気候シミュレーションの実現」では,各. 概要について説明し,3 章では NICAM の概要について説. 国のスーパーコンピュータを用いた気候シミュレーション. 明する.4 章では XMP を用いた NICAM の実装について. の研究が行われている.その研究の目的の 1 つに,エクサ. 述べ,5 章では生産性と性能の評価を行う.6 章で本稿の. スケール計算環境下におけるアプリケーション作成の生産. まとめと今後の課題について述べる.. 性向上がある. 分散メモリ環境におけるアプリケーションの作成には, 規模の大小を問わず Message Passing Interface(MPI)[2]. 2. Partitioned Global Address Space モ デル. が広く用いられている.しかしながら,近年,生産性の. PGAS モデルは,各プロセスが透過的にアクセス可能な. 面で MPI よりも有利な Partitioned Global Address Space. 領域を持つため,プロセス間通信を簡易に記述可能であ. (PGAS)モデル [3] 言語が普及しつつある.PGAS モデル言. るという特徴がある.また,並列アプリケーションの作成. 語の多くは片側通信と親和性が高く,またその片側通信は計. に必要なバリアやロックなどの機能も言語内に備えてい. 算ノードが持つ Remote Direct Memory Access(RDMA). ることが多い.XMP 以外の PGAS モデル言語としては,. 機能を直接利用する場合がある.そのため,PGAS モデル. SHMEM[6],Global Arrays[7],Coarray Fortran(CAF)[8],. 言語を用いることで,MPI を用いた場合と比較して生産性. Titanium[9],Unified Parallel C[10],Chapel[11],X10[12]. だけではなく性能も向上する可能性がある.. などがある.特に CAF は Fortran 2008 の標準規格に組み. 本稿では,PGAS モデル言語の 1 つである XcalableMP. 込まれているため,今後の普及が期待できる.. (XMP)[4] を用いて,気候アプリケーションの 1 つである. CAF では,丸括弧を用いた通常の配列と,image 番号. 全球雲解像モデル NICAM(Nonhydrostatic ICosahedral. (CAF におけるデータオブジェクトの識別番号)を指定す. 1. 2. 3. a). 筑波大学 計算科学研究センター Center for Computational Sciences, University of Tsukuba 理化学研究所 計算科学研究機構 RIKEN Advanced Institute for Computational Science 筑波大学 大学院 システム情報工学研究科 Graduate School of Systems and Information Engineering, University of Tsukuba [email protected]. ⓒ 2013 Information Processing Society of Japan. る角括弧の 2 つを用いてリモートのデータ領域をアクセス する.図 1 に,CAF のプログラミング例を示す.1 行目で は,要素数 10 の integer 型の coarray を宣言している.5 行目では,image1 が image2 の coarray に対してデータを 送信している(Put 通信) .6 行目では,image1 が image3 の coarray のデータを取得している(Get 通信).9 行目. 1.

(2) Vol.2013-HPC-140 No.6 2013/7/31. 情報処理学会研究報告 IPSJ SIG Technical Report 1 2 3 4 5 6 7 8 9. integer :: array(10):[*] integer :: tmp(10) if (this_image() == 1) then array(:)[2] = tmp(:) tmp(:) = arrray(:)[3] end if. ! Put communication ! Get communication. sync all. ! Synchronization. 図 1. Glevel-3, Rlevel-0. ! Define coarray. Glevel-3, Rlevel-1. Coarray Fortran における通信の記述方法 図3. Glevel-0. NICAM の領域分割(領域の一部のみ,太枠で囲んでいる)[5]. Glevel-1. を正二十面体に分割する.次に,その正二十面体の三角形 を 2 つずつ合わせて四角形の領域を作成する.この領域 が,各プロセスが担当する領域である.そして,Glevel と 同様に,再帰的に領域を 4 分割していくことで,多くの領 域を設定することが可能である.最初の分割された領域を. Rlevel-0 と呼び,次に 4 分割された領域を Rlevel-1 と呼ぶ. 図 2. NICAM の格子点 [5]. Rlevel-0 の場合の領域数は 10 であり,Rlevel-1 の場合の領 域数は 40 である.図 3 に例を示す.Glevel と Rlevel は個. の sync all 文は,それより前に行われた片信通信を完了. 別に設定することが可能である.Rlevel-n の場合の領域数. させ,かつバリア同期を行う命令である.本稿では,図 1. は 10 ∗ 4n の式で計算することができる.並列計算に用い. の 5 行目と 6 行目に示したような片側通信の記述方法を. るプロセス数は,Rlevel によって設定された領域数の約数. coarray 記法と呼ぶ.. である必要がある.例えば,Rlevel-0 の場合の領域数は 10. XMP は,並列アプリケーションで広く用いられている Fortran と C 言語のそれぞれの言語拡張であり,XMP が 提供する指示文もしくは coarray 記法を用いて,通信を表 現する.また,Fortran 版の XMP は CAF の上位互換とな るように設計されているため,CAF で記述されたプログ ラムを XMP として動作させることが可能である.. 3. NICAM. であるため,ユーザが利用できるプロセス数は 1,2,5,10 となる.. 4. XcalableMP による NICAM の実装 4.1 関連研究 NICAM は地球シミュレータを用いて開発が行われてき たため,NICAM のコードはベクトル計算機用に最適化さ れている.そのため,京の性能を引き出すための NICAM. NICAM は全球雲解像モデルの 1 つであり,Fortran と. に対する最適化作業が現在進められている.[13] では,地. MPI ライブラリで記述されている.NICAM が行う通信の. 球シミュレータで動作していたコードに対してキャッシュ. 多くは一対一の隣接通信であるため,スケーラビリティが. 最適化などを行うことにより,京上における NICAM の性. 非常に高いという特徴がある.本章では主に,並列計算に. 能効率を 2 倍以上に高めている.また [14] では,京の 3 次. 必要な事柄について説明する.. 元トーラスネットワークに対して,通信のホップ数が少な. NICAM では,全球に対して正二十面体格子を用いるこ とで,計算対象の点(水平格子点)を決定する.図 2 に,. くなるようなプロセスの割り当て手法の提案が行われて いる.. NICAM の水平格子点の概念図を示す.まず,全球を正 二十面体に分割する.この状態を Glevel-0 と呼ぶ(図 2. 4.2 最適化の方針. 左).その三角形のそれぞれの頂点が水平格子点である.. NICAM の一対一通信を XMP の coarray 記法による片. Glevel-0 のそれぞれの三角形を 4 分割した格子を Glevel-1. 側通信によって記述することで,コードの簡易化を図る.. と呼ぶ(図 2 右).このように再帰的に三角形を 4 分割し. また,XMP の実装において,京の RDMA 機能を用いて片. ていくことで,目的に応じた解像度をユーザが設定するこ. 側通信を実行させることにより,高速化も図る.表 1 に,. とができる.再帰回数が n の場合の格子を Glevel-n と呼. 京が提供している拡張 RDMA インタフェースの一覧を示. ぶ.Glevel-n の場合の水平格子点数は 10 ∗ 4n + 2 の式で. す [15].この RDMA インタフェースは C 言語の関数とし. 計算することができる.. て定義されている.C 言語で実装された XMP のランタイ. 次に,並列化を行う場合の各プロセスが担当する領域の 設定方法について説明する.まず,Glevel と同様に,全球 ⓒ 2013 Information Processing Society of Japan. ムライブラリから,表 1 の各関数を呼び出すことによって, 京の RDMA 機能を直接用いることができる.. 2.

(3) Vol.2013-HPC-140 No.6 2013/7/31. 情報処理学会研究報告 IPSJ SIG Technical Report 表 1 拡張 RDMA インタフェース [15] 関数名. 機能. FJMPI Rdma init. 拡張 RDMA インターフェースの初期化. FJMPI Rdma finalize. 拡張 RDMA インターフェースの終了処理. FJMPI Rdma reg mem. メモリの登録. FJMPI Rdma dereg mem. メモリの登録解除. FJMPI Rdma get remote addr. リモート DMA アドレスの獲得. FJMPI Rdma put. RDMA WRITE 通信. FJMPI Rdma get. RDMA READ 通信. FJMPI Rdma poll cq. RDMA 完了確認. 5.0. MPI (Original) RDMA. 4.5 Bandwidth (GByte/s). 1 2 3 4 5 6 7 8 9 10 11. MPI Isend/Irecv. 4.0 3.5 3.0 2.5 2.0 1.5 1.0 0.5 0 10. 0. 10. 1. 10. 2. 10. 3. 10. 4. 10. 5. 10. 6. 10. 7. XcalableMP. Transfer Size (Byte). 1 2 3 4 5 6 7 8 9 10 11. 図 4 RDMA と MPI 関数との通信性能比較 3.0 2.5 Performance Ratio. do i=1, recv_num call mpi_irecv(recvbuf(1,i), recv_count(i), mpi_double_precision, sourcerank(i), ...) enddo ... do i=1, send_num call mpi_isend(sendbuf(1,i), send_count(i), mpi_double_precision, destrank(i) ...) enddo ... call mpi_waitall(...). 2.0. real(8) :: recvbuf(maxdatasize_r, romax(halomax)):[*] real(8) :: sendbuf(maxdatasize_s, somax(halomax)):[*] ... ! Obtain information of destination position -> dest_position() ... do i=1, send_num recvbuf(1:send_count(i), dest_position(i))[destrank(i)] = sendbuf(1:send_count(i), i) enddo ... sync all. 1.5. 図 6. XcalableMP による NICAM の通信モジュールの実装例(変 数名などは一部変更). 1.0 0.5 RDMA Bandwidth/ MPI_Isend/Irecv Bandwidth 0 10. 0. 10. 1. 10. 2. 10. 3. 10. 4. 10. 5. 10. 6. 10. 図 5 より,転送サイズが 105 Byte 以下の場合,RDMA 機 7. 能を用いた通信は特に高速であることがわかる.. Transfer Size (Byte). 図 5 RDMA と MPI 関数との通信性能比. 4.4 XcalableMP による NICAM の通信モジュールの 実装. 4.3 予備実験 NICAM の一対一通信は,MPI Isend/Irecv 関数を用い. NICAM は Fortran で記述されているため,Fortran 版の XMP を用いて NICAM の通信モジュールの実装を行う.. て実装されている.そこで,まず京の RDMA 機能を用い. 図 6 に,オリジナルの NICAM から Fortran 版の XMP に. た通信と MPI Isend/Irecv 関数との性能比較を行う.. 変換したコードの一部を示す(図における分かりやすさを. 2 ノード間で pingpong を行うプログラムを京の RDMA 機能を用いた通信および MPI Isend/Irecv 関数を用いて. 優先させたため,実際のコードとは変数名や配列の次元数 は異なる).. それぞれ作成し,京において実行した.結果を図 4 に示. 図 6 下の XMP のコードにおいて,1 行目と 2 行目では. す.また,図 4 における性能比を示すグラフを図 5 に示す.. 配列 recvbuf と sendbuf を Coarray として宣言している.. 図 5 の縦軸の値が 1.0 以上であれば,RDMA 機能を用いた. XMP(および CAF)の文法上は,配列 sendbuf は Coarray. 通信の方の性能が高い.図 4 と図 5 より,すべての転送サ. である必要はないが,京では送信用バッファのアドレスも. イズにおいて RDMA 機能を用いた方が MPI Isend/Irecv. RDMA を用いる領域として登録する必要があるため,配列. 関数を用いた場合よりも高速であることがわかる.また. sendbuf も Coarray として宣言している.4 行目(実際は複. ⓒ 2013 Information Processing Society of Japan. 3.

(4) Vol.2013-HPC-140 No.6 2013/7/31. 情報処理学会研究報告 IPSJ SIG Technical Report. 数行.紙面の都合上省略している)では,送信するデータ 8.0. の格納先の情報を,MPI Allgather 通信を用いることで各. 7.0. プロセスから取得し,配列 dest position に保存している. ある.なお,NICAM では通信を行う対象プロセスとその データの格納先のアドレスはプログラム実行中は不変であ. 6.0 Time (s). この操作は,オリジナルの MPI 版では必要のない操作で. 7.60 7.53 (0.31) (0.41). 5.0. 3.60 3.72 (0.46) (0.56). 4.0 3.0. るため,この操作はプログラム開始時に一度行うだけで良. 2.0. い.6 行目と 7 行目では,Put 通信を行っている.最後に. 1.0. 11 行目では,片側通信の完了処理とバリア同期を行って. 0 Rlevel-0 (10 nodes). いる.. XMP で実装した NICAM とオリジナルの NICAM との 他の違いには,配列 recvbuf と sendbuf の要素数が異なる 点が挙げられる.オリジナルの NICAM では,プロセス毎. 図 7. Rlevel-1 (40 nodes). 2.79 2.35 (1.22) (0.93). Rlevel-2 (160 nodes). RDMAăઌ̲࢘в. MPIăઌ̲࢘в. RDMAăઌ࢘. MPIăઌ࢘. 性能評価と内訳(括弧内の数値は通信に要する時間). に配列 recvbuf と sendbuf の要素数は異なる.XMP(およ び CAF)の規格上,各プロセスで宣言する Coarray は同. て 1 プロセスを割り当て,各プロセスは 8 スレッドで動作. じ要素数である必要がある.そのため,今回の実装では,. するように設定した.. 各プロセスで最大となるそれぞれの配列の要素数を用い. 他のパラメータとして,シミュレーションを行う時間変. て Coarray の宣言を行っている.ただし,配列 recvbuf と. 化量とステップ数がある.今回の実験では時間変化量は. sendbuf の要素数は各プロセスでほぼ同じであるため,最大. 1200 秒,ステップ数は 12 に設定した.すなわち,14400 秒. 要素数を用いることによる利用メモリ量の増加はデメリッ. (4 時間)のシミュレーションである.また NICAM ではス. トにはならない.. 5. 評価 5.1 生産性 生産性を表す指標には行数がよく用いられる.今回の実 装において行数に着目した場合,通信のコードが全体を占. テップ毎に中間ファイルを生成し,さらに最終ステップに リスタート用のファイルを生成する.今回の実験では,低 い Glevel を用いたため,これらのファイルの生成に要する 時間が全体の計算時間に与える影響が大きい.そのため, これらのファイルの生成は行わないようにした. 性能評価の結果を図 7 に示す.図 7 の括弧内の数値は,. める割合は僅かであるため,全体としての行数はほとんど. 今回実装を行った通信に関係する箇所の時間(通信の開始. 変化しない.しかしながら,coarray 記法による XMP の実. から同期をとるまでの時間.その間に計算も行われている). 装では,通信の記述は送信元プロセスのみでよく,またオ. である.図 7 より,利用するノード数が多いほど,XMP. リジナルの NICAM で用いられている MPI 関数の呼び出. で実装した NICAM の方がオリジナルの NICAM よりも性. しよりも直感的に通信の記述が行える.以上のことから,. 能がより高くなることがわかる.160 ノードを利用した際. XMP の coarray 記法を用いた実装の方が,より簡潔に通. の XMP の実装とオリジナルとの速度差は,通信部分だけ. 信を表現できていると言える.. では約 31%の速度向上,全体としては約 19%の速度向上で あった.. 5.2 性能 京を用いて XMP で実装した NICAM とオリジナルの. NICAM でデータ交換を行う箇所は各領域の袖の部分で あり,Rlevel が 1 つ上がる毎に,各領域に存在する水平格. NICAM との性能比較を行う.ただし,Fortran 版の XMP. 子数は 1/4 になる一方,データ通信量は 1/2 にしかならな. の片側通信機能は未実装であるため,今回の性能評価にお. い.すなわち,Rlevel が上がる毎に通信時間の占める割合. いては,図 6 下に示した XMP のコードから XMP コンパ. が増えるため,Rlevel が大きい方がより通信の性能差が現. イラが変換すると考えられる表 1 の RDMA 関数を直接呼. れやすくなる.. び出す形で実装を行っている.京のシステム概要を表 2 に 示す. 実験で用いた NICAM の並列計算に関係するパラメータ. Rlevel-0 に お け る 1 回 の 通 信 の 平 均 転 送 サ イ ズ は 約 23KByte であり,Rlevel-1 の平均転送サイズは約 9KByte, Rlevel-2 の平均転送サイズは約 5KByte である.図 5 より,. として,Glevel は 5(格子点数は 10242)に固定し,Rlevel. それぞれの転送サイズにおける RDMA と MPI との速度差. は 0,1,2 と変化させて実験を行った.並列数は各 Rlevel. は約 2.5 倍である.図 7 の括弧内のそれぞれの数値が 2.5. の最大並列数である 10,40,160 に設定した.NICAM は. 倍も差はない理由は,その数値は同期待ちの時間が含まれ. OpenMP およびコンパイラの自動並列化機能によりスレッ. ており,また通信と同時に計算も行われているからと考え. ド並列化されて実行されるため,京の各計算ノードに対し. られる.. ⓒ 2013 Information Processing Society of Japan. 4.

(5) Vol.2013-HPC-140 No.6 2013/7/31. 情報処理学会研究報告 IPSJ SIG Technical Report 表 2. 京のシステム概要. CPU. SPARC64 VIIIfx 2.0GHz, 8Cores/Socket, 128GFlops. Memory. DDR3 SDRAM 16GB, 64GB/s/Socket. Network. Torus fusion six-dimensional mesh/torus network, 5GB/s. Compiler. Fujitsu Fortran Compiler Version K-1.2.0-13. Communication Library. Fujitsu MPI Version K-1.2.0-13. 6. まとめと今後の課題 本稿では,PGAS モデル言語の 1 つである XMP を用い て,NICAM の通信モジュールの実装を行い,京の上で性 能評価を行った.MPI 関数で記述されている一対一通信. [6]. を,XMP の coarray 記法を用いることによって,京の持 つ RDMA 機能を直接利用でき,通信の高速化を図ること ができる.京の計算ノードを最大 160 ノード用いて性能評 価を行った結果,全体として約 19%の高速化を達成するこ. [7]. とができた.また,一対一通信に coarray 記法を用いるこ とで,ソースコードの簡易化を行うことができた. 今後の課題として,Fortran 版の XMP の Coarray 実装 を進めることと,より解像度が高いデータとより多くの計. [8]. 算ノードを用いて性能評価を行うことが挙げられる.また, 図 6 における今回の実装では全プロセス間でバリア同期を. [9]. 行う sync all 文を用いたが,実際は通信を行う相手間の 同期のみで計算を進めることができる.すなわち,部分的 なバリア同期を行うことにより,性能向上を図ることがで きる.部分的なバリア同期を行うための命令として,XMP. [10]. や CAF では sync images 文が規格されている.さらに,. [14] のような京のネットワークに最適なプロセスマッピン. [11]. グ方法と本実装とを併用することで,さらなる高速化が可 能になると考えられる. 謝辞. 本研究を遂行するにあたり,NICAM を提供して. [12]. くださった東京大学の佐藤正樹先生を始めとする NICAM 開発グループの皆様に感謝の意を表します.また,NICAM の利用方法,チューニングなどについてアドバイスを下. [13]. さった筑波大学計算科学研究センターの寺崎康児研究員に 感謝の意を表します. 本研究は,日本学術振興会・多国間国際研究協力事業. [14]. 「エクサスケール・コンピューティングによる精緻な気候 シミュレーションの実現」の支援によって行われました. [15]. 参考文献 [1] [2]. [3] [4] [5]. S. Iga (2008), “Nonhydrostatic Icosahedral Atmospheric Model (NICAM) for global cloud resolving simulations.” Journal of Computational Physics, the special issue on Predicting Weather, Climate and Extreme events, 227, 3486-3514, doi:10.1016/j.jcp.2007.02.006. B. Chapman, T. Curtis, S. Pophale, S. Poole, J. Kuehn, C. Koelbel, and L. Smith, “Introducing openshmem: Shmem for the pgas community,” in Proceedings of the Fourth Conference on Partitioned Global Address Space Programming Model, ser. PGAS ’10. New York, NY, USA: ACM, 2010, pp. 2:1 – 2:3. J. Nieplocha, R. J. Harrison, and R. J. Littlefield, “Global arrays: A non-uniform-memory-access programming model for high-performance computers,” THE JOURNAL OF SUPERCOMPUTING, vol. 10, pp. 169 – 189, 1996. R. W. Numrich and J. Reid, “Co-array fortran for parallel programming,” SIGPLAN Fortran Forum, vol. 17, no. 2, pp. 1 – 31, Aug. 1998. K. Yelick, L. Semenzato, G. Pike, C. Miyamoto, B. Liblit, A. Krish- namurthy, P. Hilfinger, S. Graham, D. Gay, P. Colella, and A. Aiken, “Titanium: A highperformance Java dialect,” in ACM 1998 Workshop on Java for High-Performance Network Computing. New York, NY 10036, USA: ACM Press, 1998. U. Consortium, “UPC Language Specifications,” Berkeley National Laboratory, Tech. Rep. LBNL-59208, 2005. B. Chamberlain, D. Callahan, and H. Zima, “Parallel programmability and the chapel language,” Int. J. High Perform. Comput. Appl., vol. 21, no. 3, pp. 291–312, Aug. 2007. V. Saraswat, B. Bloom, I. Peshansky, O. Tardieu, and D. Grove, “X10 language specification,” 2013, http://x10.sourceforge.net/documentation/ languagespec/x10-231.pdf. 八代尚,“全球非静力学モデル NICAM の現在と今後の開 発計画について”,地球流体データ解析・数値計算ワーク ショップ,http://www.gfd-dennou.org/arch/davis/ workshop/2012-12-12/yashiro 20121212.pdf, 2012 年 小玉知央,寺井優晃,野田暁,山田洋平,佐藤正樹,清木 達也,伊賀晋一,富田浩文,南一生,“正二十面体格子にお けるノードマッピング手法の開発と評価”,京コンピュー タ・シンポジウム 2012,2012 年 Parallelnavi for MP10 V1.0,Parallelnavi Technical Computing Language MPI 使用手引書,2013 年. 日 本 学 術 振 興 会 多 国 間 国 際 研 究 協 力 事 業:事 業 概 要 . http://www.jsps.go.jp/j-bottom/01 b gaiyo.html M. Snir, S. Otto, S. Huss-Lederman, D. Walker, and J. Dongarra, MPI-The Complete Reference, Volume 1: The MPI Core, 2nd ed. Cambridge, MA, USA: MIT Press, 1998. PGAS - Partitioned Global Address Space Languages. http://www.pgas.org http://www.xcalablemp.org Satoh, M., T. Matsuno, H. Tomita, H. Miura, T. Nasuno,. ⓒ 2013 Information Processing Society of Japan. 5.

(6)

図 3 NICAM の領域分割(領域の一部のみ,太枠で囲んでいる) [5] を正二十面体に分割する.次に,その正二十面体の三角形 を 2 つずつ合わせて四角形の領域を作成する.この領域 が,各プロセスが担当する領域である.そして, Glevel と 同様に,再帰的に領域を 4 分割していくことで,多くの領 域を設定することが可能である.最初の分割された領域を Rlevel-0 と呼び,次に 4 分割された領域を Rlevel-1 と呼ぶ. Rlevel-0 の場合の領域数は 10 であり, Rlevel-1
表 1 拡張 RDMA インタフェース [15]

参照

関連したドキュメント

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

で実施されるプロジェクトを除き、スコープ対象外とすることを発表した。また、同様に WWF が主導し運営される Gold

すべての Web ページで HTTPS でのアクセスを提供することが必要である。サーバー証 明書を使った HTTPS

対象期間を越えて行われる同一事業についても申請することができます。た

高さについてお伺いしたいのですけれども、4 ページ、5 ページ、6 ページのあたりの記 述ですが、まず 4 ページ、5

QRされた .ino ファイルを Arduino に‚き1む ことで、 GUI |}した ƒ+どおりに Arduino を/‡((スタンドアローン})させるこ とができます。. 1)

□ ゼミに関することですが、ゼ ミシンポの説明ではプレゼ ンの練習を主にするとのこ とで、教授もプレゼンの練習

実効性 評価 方法. ○全社員を対象としたアンケート において,下記設問に関する回答