板情報 | 学校/受験/学生コミュニティ ]

Physics Lab 2009 計算機

LINKS

Physics Lab 2009 計算機班

Physics Lab 2009 (東京大学五月祭 物理学科) 関連のページ

New Thread
SUBJECT
NAME
MAIL
 
Thread List
1C++ Seminar Thread(24)
2御挨拶(11)
3質問・雑談・その他(27)
4計算機班 固有テーマ(8)
5計算機ゼミの纏め、教材(17)
6並列計算スレッド(9)
7二年生ゼミ担当者・出題者の集い(33)
8二年生ゼミについて(18)

FAQ  メールで新着情報  スレッド一覧  過去ログ倉庫



1 / C++ Seminar Thread (24)
1村瀬 :2008/09/26(金) 19:59:16
C++ ゼミのスレッドです

C++ ゼミに関する連絡などはここに書きます。

また、ゼミの内容に関する質問や、
コンパイル出来ない等の質問もどうぞ
誰か分かる人が答えてくれるでしょう
15村瀬 :2008/11/11(火) 22:42:10
ML に流した物だけれど
-----------------------------------------
前回の C++ ゼミの講義ノートを追加しておきました。
(急拵えなので体裁だけですが…)

また、前回の計算機演習で出題した問題 (練習問題 5) も更新しておきました。
この練習問題はクラスに関する物です。

講義ノート練習問題の類は
http://myoga.web.fc2.com/mayfes/cpp/ (PC 向け)
にあります。

============
クラスについて自分で勉強して使いこなせると言う人は以降読まなくて良いです
============

演習に参加出来なかった方は
練習問題 5 だけは是非是非必ず必ず、時間を見つけてやって下さい。

「今迄の内容は計算機実験でも大体似たようなことをやったので、
演習問題を解かないでも何とか理解出来たよ」という人も、
少しでもクラスについて慣れておいて欲しいのです。
(クラスは一つの大きな概念であり、また、今後多用すると思われますので。)

この練習問題は重要なので、分からない所や行き詰まった所があったら
分かっている人に聞くか、掲示板に質問を書き込むかして、
必ず理解に到る様にして頂きたいと思います。
16村瀬 :2008/11/12(水) 06:48:20
質問などがある場合には、
このスレッドにお願いします。
17村瀬 :2008/12/08(月) 01:33:54
GUI のプログラム例として茲に載せておきます。

=== ライフゲームのプログラム ===
実行形式
http://myoga.web.fc2.com/mayfes/cpp/GameOfLife.lzh

ソース [言葉は C++/CLI]
http://myoga.web.fc2.com/mayfes/cpp/GameOfLife-source.lzh
18村瀬 :2008/12/09(火) 06:25:02
=== ライフゲーム高速版 ===
実行形式
http://myoga.web.fc2.com/mayfes/cpp/life_fast.lzh
・中の [fast] というのが高速版です。
 何が起こっているのか良く分かりません…
・中の [1kx1k] というのは 1024×1024 の物です。
 大きすぎて画面に表示し切れません…
※ SSE2 に対応している CPU で動かして下さい…
 (大概対応しているとは思うけれど)

ソース (ことば C++/CLI)
http://myoga.web.fc2.com/mayfes/cpp/life_fast_src.lzh
19村瀬 :2008/12/10(水) 21:41:22
=== モンテカルロ法によるセル計算 ===

今日は、前に作って放置してあった
(== 余り分かり易くできていない)、
モンテカルロ法による計算のプログラムです。

実行形式
http://myoga.web.fc2.com/mayfes/cpp/monte_carlo.lzh

・Ising.exe
 イジングモデルです。ハミルトニアンは
 <TeX>\[H=
-J \sum_{\langle i,j\rangle}w_{ij}\sigma_i\sigma_j
- h \sum_i\sigma_i \]
\[w_{ij} … 最近接の時 1 他の時 0\]</TeX>
 だったと思います…多分

・PhaseTrans1.exe
気相液相転移の様な物を見られます。
渡辺君にアイディアを頂きました。
ハミルトニアンは…ええと、試行錯誤で色々弄った末、
系全体のハミルトニアンが定義出来ないような形になってしまいました…。
(つまり、真っ当な物理系ではない)

一つの粒子についてのハミルトニアンは、
<TeX>\[H_i = -B \min\biggl\{2, \sum_j w_{ij}\biggr\} + G h_i \]
\[w_{ij} … 最近接及び斜め四隅の時 1 他の時 0\]
\[h_i … 床から上に数えて何行目にいるか。\]</TeX>
です。(B が結合エネルギーで G が重力加速度の様な物)
20村瀬 :2008/12/14(日) 19:54:32
今日の GUI のゼミはお疲れ様でした。

「参加出来なかった方は講義ノートを御覧下さい」等と
書きたい所ですが講義ノートは暫く更新出来ないと思います。
(一昨日の演習も暫くは…)

来週常微分方程式を講義する予定で、
その準備もしなければならないですし、
レポートの類もありますので…
(御免なさい。直前まで放置している僕が悪いのです…)
21村瀬 :2008/12/20(土) 20:20:17
モンテカルロ法 (Ising Model) のソースが欲しいという要望が出たので、一応ここに上げておきます。
C++/CLI (Visual C++ 向け) です。

http://myoga.web.fc2.com/mayfes/cpp/Ising-src.lzh [21.9 kB]

もしかすると、コンパイルが通らないかも知れませんが、
その折は [プロジェクトのプロパティ]-[共通なんとか]
にて mwg.Graphics.dll (同梱) を指定するなり何なりして下さい
Name: Mail:

[ALL]  [Last50]  [-50]  [TOP]

2 / 御挨拶 (11)
1村瀬 :2008/09/11(木) 17:51:08
自己紹介とかは茲にお願いします。
3村瀬 :2008/09/11(木) 18:44:19
あ、後、他の班の人で数値計算を学ぼうと思っている人なども
その旨添えて書いて下さい。

五月祭には参加しないけれど数値計算の方法だけ学んじゃおう
と言う人も歓迎です (多分)
4かまつか :2008/09/16(火) 12:12:07
遅れ馳せながら、自己紹介。

三年の鎌塚です。
前回は五月祭不参加でしたが、
今回は計算機技術の習得のも兼ねて参加したいなと。
今のところ、計算機のみのつもりです。
どうぞ、宜しく。
5村瀬 :2008/09/16(火) 18:47:24
よろしく

なかなか人がこないね
「自己紹介書け」って
ML に流した方が良かったか知らん
6かまつか :2008/09/17(水) 23:43:49

どうやらその方が良さそうだねー
7さわだ :2008/09/18(木) 10:39:34
3年の澤田です。しけたい4の名の方が有名かもしれません。
前回の五月祭は自宅警備員として仕事をしていました。

偏微分の教材作っています。更新履歴はこのあたりに書くから皆さん読んであげてね♪
http://briefcase.yahoo.co.jp/bc/shi9_lo_knight/lst?.dir=/f619&.order=&.view=l

例によって電波な中身です。coreの方はネタが削られています。解凍パスはkeisankiです。
8金澤 :2008/10/06(月) 17:42:45
ども.班長の金澤です.遅くなりました.
この班の概要とか,目標とかを書き込んだ方が良さげなので書かせていただきます.

●意義●物理系のシミュレーションを取得することで研究過程の計算に役立てる
研究を今のうちから意識しての話ですが,数値計算ができると理論や実験予定をたてた時に妥当かどうかの計算が楽にできます.これは研究過程で大幅な労力削減になります,実際,院に入るまでに数値計算の知識を取得するよう求められている研究室も結構あるようなので,やっとくと特です.

それに,打算的なこと抜き出も,可視化してうにょうにょ物理系が変化するのを見ているだけでもきっと心が和みますよ.みんなでやろうZE!

●当面の目標●
数値計算の基礎をやる.
 ○C++
 ○数値微積分,代数方程式の解法
 ○常備分方程式,偏微分方程式

●教科書
 ○数値積分などの常識→「数値計算の常識」(共立出版)伊里
 ○偏微分→「偏微分方程式の数値シミュレーション」(東大出版)
 ○常備分→「常備分方程式の数値解法」(シュプリンガージャパン)←予定

●それが終わった後は
 ○(量子)モンテカルロ法
 ○密度汎関数法
などをやれたらいいなぁと.でもまだ未定.希望あればメールしてちょ♩
9柴田 :2008/11/08(土) 01:23:24

遅れに遅れましたが自己紹介です.
現在3年生の柴田です.
宇宙班の班長をやっていますので,そちらで知っている人も
いるかと思います.
ほかには摩擦班に所属しています.

計算機班では,テーマのところにも書きましたが
惑星の形成過程についてのシミュレーションを
やりたいと思っています(宇宙班とは関係ないですよ?).

よろしくお願いします.
Name: Mail:

[ALL]  [Last50]  [-50]  [TOP]

3 / 質問・雑談・その他 (27)
1村瀬 :2008/09/11(木) 18:53:09
題の通り、
質問とか雑談とかその他色々。
19村瀬 :2009/01/06(火) 23:41:13
# この辺に書いておけば良いかな

** 常微分方程式 練習問題 1 訂正 **

常微分方程式の宿題で
x_next=Σb_i k_i
の様な感じになっている部分が二箇所ありますが、勿論
x_next=x_old + Σb_i k_i
の様な感じになるのが本当です。

まあ…普通に考えれば分かる事なので、
茲に書くだけに留めさせて頂きます。

# 指摘して頂いた方ありがとうございます
20村瀬 :2009/01/07(水) 00:05:30
またまた訂正 (…というか、追記

** 常微分方程式 練習問題 1 訂正 **

n 次の RK 公式を考えている時は、
少なくとも f は C^n 級の点で考えていると
思って頂いて構いません。

実際の所、Runge-Kutta で考える時は勝手に
C^infinity 級ぐらいに思っていいんじゃないかなあ
# と暴言

指摘して頂いた方、ありがとうございます
21村瀬 :2009/01/10(土) 09:48:25
解答例の方にも誤りが見つかりました…

** 常微分方程式 練習問題 1 解答例 訂正 **

[2] の Heun3deg の試験で、傾きが -3 の理由を、
「三次公式だから」などと説明していましたが、
違います。(三次公式であると言う事には間違いはありますが)

詳細は解答例の方を御覧下さい…

** あと *********************************
ここは、訂正報告のスレッドではなくて、
質問・指摘・提案、雑談、その他
のスレッドです。

みんなどんどん書き込んで下さい…。
22村瀬 :2009/04/07(火) 06:57:28
昨日の朝に言っていた Runge-Kutta 等のライブラリ (というかヘッダだけ) を入れた物です。

http://myoga.web.fc2.com/mayfes/keisanki/keisanki-library.lzh

ライブラリ本体は ksh というディレクトリに入っています。
使い方は example1.cpp と example2.cpp を参考にして下さい。

使う時には、 .cpp と同じディレクトリに ksh ディレクトリを置くか、
或いは ksh の一つ上をインクルードディレクトリに指定するかして下さい。
でも、これからどんどん更新されであろう事を考えると
各 cpp と同じディレクトリに置いておくのが無難だと思います。

---------------------------------------

「一般的に使えそうなこんなコードを書いた」等の物が在れば、
上のライブラリ内に組み込んでいくつもりです。
どんどん言って下さい

因みに ksh というのは「計算機シミュレーション班」か何かの略では **ありません**。
# 本当は、勝手に短い識別子を名前空間に使うのは良くないのだけれど…
23村瀬 :2009/04/07(火) 07:01:36
あそうだ…

上の ksh ライブラリは、
内部で M_PI 等のマクロを undef して、
ksh 名前空間内に定数として宣言しています。なので、

#define _USE_MATH_DEFINES
#include <cmath>
#include "ksh/Vector.h"

等とすると、M_PI は使えなくなって、ksh::M_PI 等と指定しなければならなくなります…。
之が嫌な人は kshbase.h の中を書き換えて下さい。
24村瀬 :2009/04/07(火) 07:09:24
更に註記

example2 を実行する時はコマンドプロンプトを全画面表示にすると良いです。
# 本当に全画面表示にはならないけれど
25村瀬 :2011/04/02(土) 15:47:35
5000 取った。記念書込
みんな見てますかー??
Name: Mail:

[ALL]  [Last50]  [-50]  [TOP]

4 / 計算機班 固有テーマ (8)
1村瀬 :2008/09/11(木) 18:06:56
計算機班は、他の班の考えている系についての計算に関しても
積極的に関わっていく予定です。
然し、勿論、計算機班固有のテーマも欲しい所です。

そこで、「何かこんな事をやってみたら良いのではないか」
という事を思いついたらこの辺りに書いておいて下さい。

実現不可能とか下らないとか思う物でも書いて良いです。
というか、書いて下さい。
誰かが実現方法を思いつくかも知れないし、
それを端緒にもっといい計算対象を思いつくかも知れません。
2村瀬 :2008/09/11(木) 18:30:28
また、計算テーマに関しては
計算機班全体で一つ選ぶのではなくて
面白そうだなと思った物を
各自勝手にやるという事になると思います。

比較的大規模なシミュレーションでは
皆で協力してやるという事に為るかも知れませんが、
まあ、そんな大きな計算はなかなか出来ないでしょう。
挑戦する価値は在るかも知れませんが…
3村瀬 :2008/09/11(木) 18:39:43
取り敢えず、今の所出ている案を挙げておきます。
(提案者の意図をちゃんと酌めているかは
自身有りませんが)

・三次元流体のシミュレーション
 2008 流体シミュレーション班の続きです。
 2008 年度は二次元までしか出来なかったので。
 (二次元の方も誤差を小さくするとか、
 改善の余地はありそう)

・Schlödinger 方程式
 Schlödinger 方程式を実際の系に当て嵌めて計算し、
 解析的な解との振る舞いを比較する
 (だったっけ? …詳しいことは提案者の方から
 レスがありましょう)

・化学反応
 分子レベルの化学反応の過程を、
 量子力学的に計算してみようと言うことだと思います。

・衝突
 物体と物体が衝突する時には、
 極端な力が瞬間的に働きます。
 この時の様子を弾性力学的に計算してみよう
 という事だと思います。

・雷
 雷が何処に落ちるのか計算出来るか?
 稲妻の形を再現出来るか?

(省略されました・・全てを読むにはここを押してください)
4村瀬 :2008/09/16(火) 18:56:38

・球面振り子の軌跡

・両端を固定して垂らした紐の運動
 放っておくと懸垂線 (cosh) になって止まるけれど、
 動いている時はどんな風なのかなぁ等。
5金澤 :2008/10/30(木) 13:04:15
変化球班から委託されたので、スパコンを用いた三次元流体系の変化球シミュレーションを行うことがほぼ決定。三次元流体シミュの延長でやります。
流体の理論とか、モデルとかは変化球班が教えてくれるので、詳しい流体理論とかは教えてもらえます。
6金澤 :2008/10/30(木) 13:08:42
あ、あれ書いてなかった。

量子化学、量子力学における近似計算の精度評価します。
MO法、Hartree-Fock...摂動計算など。これは僕が個人的にやろうとおもっていることです。まぁ簡単だから、スパコンによる流体シミュが大きなのだとメインになるのかな。

あと、摩擦班からの委託でFrenkel-Kontrovaモデルという摩擦のモデルをシミュレートします。これも、精度次第ではスパコンを使いますが、まずは二次元系で普通にシミュレートする予定。
7柴田 :2008/11/08(土) 01:17:36

個人的にやりたいと思っていることは,

惑星の形成過程のシュミレーション
今日地惑の友達に聞いたところでは実際に理論とかはあって
やっている研究室もあるみたいです.
Name: Mail:

[ALL]  [Last50]  [-50]  [TOP]

5 / 計算機ゼミの纏め、教材 (17)
1さわだ :2008/11/10(月) 22:05:57
多分こういうページを作ったほうがやりやすいと思われます。

計算機班の所有するyahooブリーフケースは
ID:keisanki2009
PASS:su_lamen
です。

新しい教材をアップした場合は此方に御連絡ください。
11しけ4 :2009/05/19(火) 00:50:30
http://akiba.geocities.jp/keisanki2009/supercom/supercom.lzh

にスパコンまにゅあるうpしました。
12村瀬 :2009/06/06(土) 22:23:34
===== Release モード / Debug モードでのコンパイルについて =====

Release/Debug モードとは
------------------------
VS の開発環境でコンパイルする場合、Debug モードと Release モードの二つのモードがあります。
Release モードでは最大限の "最適化" (プログラムが速く動作する様に調整する事) が行われます。

一方で、Debug モードではデバグをしやすい様にコンパイルが為されます。
具体的には、エラーをチェックするコードが挿入されたり、
ブレークポイントを何処でも設定できるようなコードが生成されたりします。
そんな理由で、Debug モードでコンパイルすると実行が遅くなります。
特に、入り組んだクラスを使用している場合には数倍遅くなる事もあります。

数値計算では出来るだけ早く計算できた方が良いので、
基本的には Release で計算して、
バグを発見したら Debug モードでデバグするのをお薦めします。

今回の状況
----------
通常プロジェクトを作って、何も設定せずにその儘コンパイルしている場合、Debug モードになっています。
所が、Debug モードでコンパイルして出来た実行形式は、
Visual Studio 2008 をインストールしてあるパソコンの上でしか実行する事が出来ません。

# 自分の持っているパソコンは全て VS が入っているので、これに気付いていませんでした…
# 本当は、DVD にプログラムを載せる前に之を連絡するべきだったのですが、
# まさか、実行できないとまでは思っていなかったので説明を怠ってしまいました。
# 御免なさい

なんで実行できないのかというと、 C++ では、Debug モードでコンパイルを行うと、
「エラーをチェックする為のライブラリ (.dll) 」にリンクされてしまうからです。
(省略されました・・全てを読むにはここを押してください)
13sa :2009/10/13(火) 00:08:39
http://akiba.geocities.jp/keisanki2009/internal/frac/fractal.lzh

ふらくたる
14kamatsuka :2009/12/06(日) 15:25:06
未完成MCまとめノートです。随時更新予定。
http://akiba.geocities.jp/keisanki2009/internal/mc/monte_carlo_semi.zip
15kam :2009/12/20(日) 09:37:59
MCまとめ完成しました。
16村瀬 :2009/12/25(金) 23:11:21
ちょっと遅くなったけれど、確認しました。
サンプルプログラムも入っているね。
ありがとうございます
17村瀬 :2010/02/19(金) 16:18:13
今週の月曜日に「高速なプログラムを書く為に」と題して話した事の講義ノートは、
http://myoga.web.fc2.com/prog/cpp/opti01.htm
に Upload してあります。興味のある方は参考にして戴けると幸いです。

# ML に流したのの写しですが。
# 然し、この掲示板、見ている人がいるのか居ないのか疑問です
Name: Mail:

[ALL]  [Last50]  [-50]  [TOP]

6 / 並列計算スレッド (9)
1村瀬 :2009/02/16(月) 18:27:47
並列計算に関する事は茲に書いて下さい。

スーパーコンピュータの利用や、並列計算に適したデータの管理の仕方などから、
実際に何を計算してみたいか、その他何でも書き込み下さい。
3村瀬 :2009/02/16(月) 19:31:09
■スーパーコンピュータを利用するコースについて

どれを選択しても、今の段階ならばそれに合わせて勉強すれば問題ないそうです。

・SR 何とかのコース
 此方の方が速く計算が出来るそうです。(プロセッサ間のメモリの転送能力などの関係でしょうか?)
 特に流体の計算には此方の方が向いているという話も伺いました。
 然し人気がある為なかなか時間を取れない様な感じの事も仰っていました。

・HA 何とかのコース
 こちらは若干遅い物の、利用者が少なくて空いているそうです。
 パーソナルコースかグループコースかによっても好き具合が異なる様な事も匂わせていらっしゃいましたが…

 (当初、SR と HA で特性が良く分からなかった為に、此方を志望してしまいました…
 mmx 命令を使いたいと思った時に、IA32 ベースの命令セットの CPU である此方の方が慣れていていいかな
 等と思った為です。実際には assembly まで使わないと思います。
 低階層のアルゴリズムはスパコン附属のライブラリを使用すればよいと思いますので。)

・計算機関連の授業「スパコンプラグラミング 1-I @ 工学部」

 相談頂いた片桐先生が来学期に開講されるようです。
 これを受講すれば四月か五月に HA の方 (と仰っていた気がする) を無料で利用させて頂けるそうです。
 毎週火曜一限 or 二限の様です。

 2007 年度夏学期の授業 [pdf]http://www.cc.u-tokyo.ac.jp/publication/news/VOL10/No2/200803katagiri.pdf
 2008 年度夏学期の授業 http://www.itc.u-tokyo.ac.jp/announce/2008/RecSuperC/RSC08_1.html
 2008 年度冬学期の授業 http://www.itc.u-tokyo.ac.jp/announce/2008/RecSuperC/RSC08_2.html

 二限にならない事を祈りましょう (四年の二限は、物理学科の一般相対論があります。)
 一限になったら内容すかすか (というと先生には悪いけれど) のラムダ計算 (計算数学I) なんか取らずに、絶対に此方を選択すべきです!
(省略されました・・全てを読むにはここを押してください)
4村瀬 :2009/02/16(月) 19:46:50
■予算に関して

予算に関しては、授業で受講する・先生に貸して頂く・etc 等の手管を使って色々削減する事が出来るようです。

・授業「工学部 スパコンプログラミング1-I」
 四月頃にアカウントを頂けます。勿論無料です (というか授業料として既に東大に払っています)。
 (先程書いたので詳細は省略)

・ポスターの印刷代
 展示用ポスターなどの為にも予算は削られていきます…
 其処で割安で A1 紙に印刷する方法を紹介頂きました。

 赤門の直ぐ近くに最近出来た建物「福武ホール http://fukutake.iii.u-tokyo.ac.jp/」で「ECCS・生協・プリントカード・\1000」だそうです。
 ECCS とかプリントカードとか聞いたことがあるような気がするけれど分かっていない単語が並んでいたので、
 僕は余り理解していませんが、其処にいる人に聞けば分かるでしょう。

 (でも、「昨年度は物理学科の実験室にある印刷機で無料で印刷した」という噂もあるので、
 これは元から無料の為気にしなくても良いかも知れません…。)

・その他融通
 その他色々融通して頂けそうな感じもしています。
 立派なプログラムを期限内に書く事が出来ればという話ですが。

 逆に完成度が高くないプログラムの場合には、×と言われてしまうので
 頑張って立派なアルゴリズム & 立派なプログラムを目指しましょう。

# 未だ続くよ
5村瀬 :2009/02/16(月) 20:57:58
■学習の方法について

何はともあれ (並列でなくても) プログラムを書く事と感じました。

・メモリの大きさ
 2GB 程メモリがあるのならば 100 万点 (100*100*100) の有限要素程度ならば時間を掛ければ可能だそうです。
 別に、2GB 無かったからと言ってシミュレーションできないわけではなくて、分割を減らせばよいだけの話ですが。

・流体 (粘性) をやるなら
 先ずは、二次元の円柱などから練習する事を言われました。
 また、非圧縮よりは、余り体積変化のない流体を計算した方が発散しない? 様な事を言われました。
 (まあ、非圧縮は、或る点での影響が無限の速さで伝播する事になるので、如何にも発散しそうです。)

・可視化
 これは一々作る必要はなくて、既存の可視化ソフトを使う事を薦められました。

 特に紹介頂いたのは MicroAVS と言う物です。
  MicroAVS は AVS (Advanced Visualization System?) のパソコン版で、Win 用バイナリもあるそうです。
  学校の WIndows 端末で利用できるそうです。

  自分のパソコンで使用したい場合は↓から評価版を入手できます。
  http://www.kgt.co.jp/feature/microavs/
  但し、評価版は 30 日しか使用できない様です…。

 他にも検索すれば Freeware で沢山あるとの事でした。

 # 僕たちとしては、可視化まで含めてプログラミングを
 # 勉強しようと言うつもりでした。
 # (OpenMP や DirectX でも使ってパソコンに表示させて、
 # libffmpeg でも使って動画ファイルにして、ネット上に公開したりして)
(省略されました・・全てを読むにはここを押してください)
6村瀬 :2009/02/16(月) 20:58:45
■参考書など

並列化の勉強も必要ですが、それ以前に並列化に向いたアルゴリズムの勉強も必要です。

# というか、実際「並列の勉強」とは並列化の API を知る事ではなく、
# 並列に適したアルゴリズムを勉強するという事です。

その為の書籍を一部紹介して頂きました。

・培風館 計算力学と CAE シリーズ 3 「差分法」高橋・棚町
 [Amazon] http://www.amazon.co.jp/%E5%B7%AE%E5%88%86%E6%B3%95-%E8%A8%88%E7%AE%97%E5%8A%9B%E5%AD%A6%E3%81%A8CAE%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E9%AB%98%E6%A9%8B-%E4%BA%AE%E4%B8%80/dp/4563033782

・丸善「並列計算法入門」樫山・西村・牛島
 [丸善] http://pub.maruzen.co.jp/shop/4621072587.html
 [Amazon] http://www.amazon.co.jp/%E4%B8%A6%E5%88%97%E8%A8%88%E7%AE%97%E6%B3%95%E5%85%A5%E9%96%80-%E8%A8%88%E7%AE%97%E5%8A%9B%E5%AD%A6%E3%83%AC%E3%82%AF%E3%83%81%E3%83%A3%E3%83%BC%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E6%A8%AB%E5%B1%B1-%E5%92%8C%E7%94%B7/dp/4621072587

・GeoFEM「並列有限要素解析I」奥田・中島
 [GeoFEM] http://geofem.tokyo.rist.or.jp/books/index.html
 [Amazon] http://www.amazon.co.jp/%E4%B8%A6%E5%88%97%E6%9C%89%E9%99%90%E8%A6%81%E7%B4%A0%E8%A7%A3%E6%9E%90%E3%80%881%E3%80%89%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0-%E5%A5%A5%E7%94%B0-%E6%B4%8B%E5%8F%B8/dp/4563067385

 畏れ多くも中島先生にこの本を一冊戴いてしまいました。
 これは中島先生の執筆された本です。

 中身をちょっと開いてみた所 GeoFEM というライブラリを使用したサンプルが色々載っています。
 GeoFEM というのは地球シミュレータ用に full scratch で書かれたライブラリ? の様です。
 GeoFEM → http://geofem.tokyo.rist.or.jp/

・(MPI 等について)
 MPI は OpenMP を始めとする、並列化の指定を行う為の interface です。
 MPI 自体は唯の interface なので何も複雑な事はなく、
(省略されました・・全てを読むにはここを押してください)
7村瀬 :2009/02/16(月) 20:59:40
■最後に註記

1.流体以外のテーマ
 スーパーコンピュータの利用は、流体だけではなく色々なモデルに対して実施してみたいと考えています。
 何かやりたい事がある人は、早めに考えておいて下さい。(出来るだけ三月中にテーマを決定できると良い。)

 また、流体のシミュレーションに関しても早く詳細 (使用する手法・系の詳細・初期条件) を決定しなければ為りません。
 変化球班と協力して設計する物に関しては変化球班と早く詳細を競技しなければ為りませんし、
 計算機班固有の流体系をシミュレートしても良いでしょう。

2.Linux
 後、計算機基盤センターの人は Linux 前提な顔をしていました。
 # 何しろ、「此方でも実際に C++ でプログラムを書いて練習している」と申しましたら、
 # Linux でやっていると思ってくれた様な感じです。
 # 先生方は Linux 以外でプログラムを書く事は頭の中にないのでしょう。

 Linux を早く扱える様にならないと行けません……。
 # 二年生に詳しい人いないかなあ。。

3.スパコン以外
 スパコンについて長々と記述致しましたが、別にスパコン以外を諦めたわけではありません。
 OpenMP の技術はマルチコアのパソコンでもその儘使用できますし、
 並列化に適したアルゴリズムを使用すれば、複数台のパソコンを繋いで計算する事も出来ます。
 或いは、GPGPU の案もあります。

 取り敢えず、並列計算で使用できる環境を挙げておきますと
 ・マルチコアのパソコン
 ・スパコン
 ・複数台のパソコンを繋ぐ
 ・ネットワーク越しに繋ぐ
(省略されました・・全てを読むにはここを押してください)
8村瀬 :2009/02/16(月) 21:18:18
[追記]
 中島先生の論文 (流体の衝撃波を扱う有限要素法の手法?) も頂きました。
 AIAA-95-0670 "Hybrid Adaptation Method and Directional Viscous Multigrid with Prismatic-Tetrahedral Meshes"
 V. Parthasarathy, Y. Kallinderis and K. Nakajima
 興味があって御覧になりたい方は、村瀬か金澤君・澤田君の何れかに言って下さい。
9村瀬 :2009/03/11(水) 23:18:58
何となくライフゲームの並列化
/* #pragma omp for default(none),shared(i,n)
の一行を付け加えただけだけれど */

実行形式 (要 SSE, .NET Framework 3.5)
http://myoga.web.fc2.com/mayfes/cpp/life_omp.lzh
ソース (要 VC 2008)
http://myoga.web.fc2.com/mayfes/cpp/life_omp_src.lzh

Phenom II X4 (3GHz×4) で走らせてた所、
ちゃんと並列化されていました (速いなあ)
Name: Mail:

[ALL]  [Last50]  [-50]  [TOP]

7 / 二年生ゼミ担当者・出題者の集い (33)
1金澤 :2008/12/29(月) 00:49:18
二年生に講義・問題を出題することになった出題者4名で情報共有のためのスレです。
一応、出題に当たって基準的なことを。

・二年生は軽くゼミをやっただけでわかりきっているわけではないので、わかっていることを前提とした問題にはしないこと。
レベルは、非常に低く、Cに慣れるための問題としてください。
・僕がやった講義は、短時間に詰め込む為に例題等を削った、抽象的なTopDown式な講義です。
それに対して、宿題は例題から類推して理解する、「真似てわかる」BottomUp式問題にしてください。
だから、必ず例題をつけて、ソースコードをみせて、それをちょっといじくって遊べる問題にしてください。
そうすれば、ちゃんと理解できなかった人でも感覚的にCに慣れていくことが出来るはずです。
・というわけで、[変数の宣言をしているんだよ〜]的な初歩中の初歩も解説してあげてください。
例題は全行解説を付けるつもりで。くどいくらい丁寧で簡単。でも基本が理解できる。そういう問題を目指してください。
・問題は一日一問解くことを念頭にお願いします。

出題にあたって、方針に不明な点がありましたら僕にメールください。
27角田 :2008/12/30(火) 21:36:01
現状報告。
・寺井君や鎌塚君の作ってくれたものが基本的なことを一通りやってくれているので、
 その後に解くような、少しだけレベルを上げた問題を作っています。
・変数の型、宣言、代入、四則演算、文字の入出力についての簡単な説明。
 問題は他の人が十分用意してくれているので作っていません。
・2/3*xのような書き方をしてはいけないということを理解させる問題。
・if, while, forを使った、ちょっとした応用問題(を作る予定)。
 鎌塚君のおまけ問題よりは易しいものを作る予定です。
28角田 :2008/12/31(水) 04:06:54
ttp://akiba.geocities.jp/keisanki2009/cpp_homework_tsunoda.zip
アップしました。微妙にネタが入ってますが、分からなくても問題無いようにしてあります。
簡単な内容説明
・問題は全7問。すべて解答例付き。
・変数の型、宣言、代入、四則演算、文字の入出力についての簡単な説明。問題はなし。
・2/3*xと書くとどうなるか理解させる問題2問。
・if, while, forについて1問ずつ、計3問。他の2人より少し難しめ。でも例題の書き換えで解ける。
・前3問の知識を用いて、コラッツの予想を確かめる問題2問。
 ヒント付きだけど、例題がないので難易度が高いかも。
29村瀬 @ 三河 :2008/12/31(水) 09:54:00
確認いたしました。

大作御疲れ様です
整数同士の除算や、
オーバーフローに触れていてとても良いと思います。

>ヒント付きだけど、例題がないので難易度が高いかも。

まあ、難しい物理学演習の問題と比べたら…。
それまでの部分も丁寧に説明してくれているし、
大丈夫だと思う。
30村瀬 @ 三河 :2008/12/31(水) 10:02:51
後、scheme を ttp にする必要は御座いません。
http にして置けば、勝手にリンクになるし、その方が便利です。

これは元々某掲示板群 (かその類) で、リンク先に人が殺到したり、
referer でスレッドを割り出されたりするのを防ぐ為の物ですから、
この掲示板でそれを行う積極的な意味はないと思うのです

# 検索の bot に見つかりたくないという理由
# (或いはその他の理由) が在っての事でしたら、
# 失礼しました。
31村瀬 :2009/01/06(火) 23:04:28
立川君 (だよね?) Dictionaries.zip と
function_base.doc 確認しました。
index の方にも追加させて頂きました

# Dictionaries.zip の方については
# 折角 html で書いてくれた様だから、
# 展開して upload し直しちゃった
# http://akiba.geocities.jp/keisanki2009/B2Assign/Dictionaries/
# 以降、追加がある時は、こっちを直接変更してくれて構わないです
32寺井 :2009/01/11(日) 03:05:13
最近崩れていた生活リズムを強制したのにまた崩れそうな寺井です。(笑)

2年生の宿題(出ていた分は)見終わり、数行のコメント(?)を書いたテキストファイルをつけておきました。
(新規テキストドキュメント.txtなるファイル)
が、中には私の問題以外もやってくれた方がいたようです。
その部分に関しては見てないのですが、問題作ってもらった人に渡して見てもらうのがいいのでしょうか?
33かまつか :2009/01/31(土) 22:44:30
http://akiba.geocities.jp/keisanki2009/B2Assign/2assign_kama.zip
2年生向けの課題をupしました。
少し素っ気ない問題ですが。。
Name: Mail:

[ALL]  [Last50]  [-50]  [TOP]

8 / 二年生ゼミについて (18)
1金澤 :2008/12/25(木) 22:10:33
二年生ゼミのガイダンスの内容を軽く纏めたので、ここで報告します。

・今後の予定

毎週ゼミに本郷まで来てもらうのは酷なので、冬休みの宿題を提出してもらうことで演習量を確保することにしました。その際、20名近い二年生の班を3つに分割して、班長を決め、班長に宿題を提出して、班長が三年生に宿題を提出する、という仕組みを採用しました。
ちなみに班分けは

横田班:(班長)横田、久保田、三上、市川、遠藤、石川、山田、栗田
谷崎班:(班長)谷崎、布能、柴田、水野、乙村、関口、白井
平谷班:(班長)平谷、中井、富樫、李、出口、牛場、相谷

です。

・掲示板
ここに情報を書き込むので、こまめに見てください。また、質問等もここで書いてもらってかまいません。

・冬休み明け
センター試験が行われる16日、17日、18日に集中してC++のゼミをしようと思います。
場所は駒場の数理科学研究科を予定しています。
ちなみに、ガイダンスでC言語の基礎をやりましたが、プログラミングは一日で頭に入りきるはずが無いので、その内容を頭に入れていることを前提とはしません。全く最初からもう一度します。(ガイダンスは冬休みの宿題のために無理やり詰め込んだので、わからなくても問題ないです。)
12角田(3年) :2009/01/04(日) 17:05:09
親のVistaを借りて試してみましたが、
どうもVistaだとコマンドプロンプトにドラッグ&ドロップできないようです。

調べてみたところ、以下のようにすればいいようです。
1. 移動したいフォルダを、Shiftを押しながら右クリック
2. 「パスとしてコピー」を左クリック
3. コマンドプロンプト上で右クリック
4. 「貼り付け」を左クリック
13イチカワ :2009/01/06(火) 19:16:40
おお、本当にできました。
これでいちいち手打ちでやらなくてすみます。ありがとうございました。
14村瀬 :2009/01/06(火) 22:37:08
イチカワ君、角田君ありがとうございます

「コンパイルと実行」の頁に訂正を入れさせて頂きました
15ミカミ :2009/01/09(金) 22:00:35
質問です。

cin<<x; を使って、入力してもらった値を
cout<<"x="<<x; で「x=ナントカ」と表示できる
ことは分かったんですが、
「xはナントカです。」と表示したい場合は、
coutの中身をどう書けばいいですか?

つまり入力値を文章の右端じゃなくて、
好きな位置に表示させたいのです。
16ミカミ :2009/01/09(金) 23:16:27
間違えました。
cin>>ですね。
17寺井 :2009/01/10(土) 00:21:06
coutは入れた順に出力してくれるので、
cout<<"xは"<<x<<"です。"
とすれば、「xは〜です。」となります。

私が作った問題には書いてありませんでしたが、coutの後には上の様に
<<を使っていくらでもつなげられるので、x,yに値を入れて次のようにすることもできます。

cout<<"xは"<<x<<"、yは"<<y<<"です。"

これだと「xは〜、yは〜です。」と出力されるはずです。
18ミカミ :2009/01/10(土) 18:57:51
なるほど。分かりました、ありがとうございます。
Name: Mail:

[ALL]  [Last50]  [-50]  [TOP]