fortran66のブログ

fortran について書きます。

2009-01-01から1年間の記事一覧

“八紘” 土屋鳳州 『鴨緑江之戦』 にあらわれている。

「豈可不放*身命竭忠誠、張国権於永遠、宣皇威於八紘哉。」放*:本当は旧字のなげうつ。旧字の放物線のほう。 「淮南子云、九州之外、乃有八[歹寅]、八[歹寅]之外、而有八紘。」とのこと。[歹寅] イン 遠い。 紘 コウ ひも、綱。支那人の世界像は3*3のま…

IEEE

PROGRAM test USE, INTRINSIC :: ieee_arithmetic USE, INTRINSIC :: ieee_exceptions USE, INTRINSIC :: ieee_features IMPLICIT NONE TYPE (IEEE_FEATURES_TYPE), PARAMETER :: ieee_feat(11) = [ IEEE_DATATYPE, IEEE_DENORMAL, IEEE_DIVIDE, IEEE_HALTIN…

MODULE m_type IMPLICIT NONE ! TYPE :: t_base INTEGER :: n REAL :: x END TYPE t_base ! END MODULE m_type !=================================================== MODULE m_extype USE m_type IMPLICIT NONE ! TYPE, EXTENDS(t_base) :: t_ext PROCEDUR…

IVF v11.0.074 TYPE

Bugってて、ダミーの仮引数がないと構造体を PASS することができません。 MODULE m_test IMPLICIT NONE ! TYPE :: t_person CHARACTER (LEN = 10) :: name REAL :: age INTEGER :: id END TYPE t_person ! TYPE, EXTENDS(t_person) :: t_employee INTEGER :…

J・G・バラード死す

J・G・バラード死す! 1.時の声 2.砂の檻 3.永遠の黄昏

INTRINSIC

INTRINSIC という命令があるのは知らなかったです。普通の状況では何をするわけでもないですが、ベンダー拡張の非標準の INTRINSIC 命令を周知できます。 PROGRAM test IMPLICIT NONE INTRINSIC :: LOC, sizeof ! non-standard intrinsic INTEGER :: i = 100…

IVF

IVF が少しバージョンアップして、ABSTRACT INTERFACE のバグが取れていました。 ABSTRACT INTERFACE があると、同じインターフェースを何度も書かなくてすみます。 実行結果 ソースプログラム MODULE m_sort IMPLICIT NONE ABSTRACT INTERFACE ELEMENTAL LO…

POINTER を返す関数

Fortran 95/2003 Explained の5章の例を動くようにしたもの。乱数で正負の数を作り、そのうち正の数だけを選んで、ちょうどの大きさの配列へのポインターを返す関数。 実行結果 ソースプログラム MODULE m_test IMPLICIT NONE CONTAINS !------------------…

単位行列

RESHAPEで作ろうとして失敗していたが・・ それにつけても、宣言時に初期値を与えると自動的に SAVE 属性になるとは知らなかった。(ソースは"Fortran95/2003 Explained" chapter 6。) PROGRAM test IMPLICIT NONE INTEGER :: i, n(10, 10) = 0 FORALL (i = 1…

芹沢正三『素数入門』の宿題の暗号解読

目がかゆくて鼻づまりで頭が重くて何もやる気がしません。バリントン・J・ベイリーの『カエアンの聖衣』を読み返してヤクーサ・ボンズに爆笑しつつ、竹本泉の『さよりな・パラレル』の端々に影響があるなと思いつつ、イブリン・ウォー『大転落』中の「やるね…

VBO 頂点バッファオブジェクト

ここを参考に Fortran で頂点バッファオブジェクトを使ってみます。本体はほぼ移植です。F03GLを利用。(F90GLにはインプリメントされていない命令がある?) メモ帳 Libs::opengl_glext_c.lib glew64.lib glut64.lib opengl32.lib glu32.lib LibPath::C:\Fo…

メモ帳w

gltools.f90 の中のモジュールの改変。 cの助けを借りるw http://www.dolfyn.net/dolfyn/f03gl_en.html Bluebook用のルーチン。このままではまずいことが判明。一部引数に VALUE 属性が必要。 module opengl_glext use opengl_gl use, intrinsic :: iso_c_…

メモ帳w

#include <GL/glew.h> #include <GL/glut.h> extern "C" void createVBO(int n, GLuint* vbo) { glGenBuffers( n, vbo); } だめw glewinit() などはうまくいく。glew64.lib を抜くと __imp___glewGenBuffers が見つからないという。関数アドレス自体は返してよこすが、本体ではな</gl/glut.h></gl/glew.h>…

F03GL について

以前の日記で Windows + IVF の組み合わせで動かないと書きましたが、http://d.hatena.ne.jp/fortran66/20090129その後わかったことをメモっておきます。 F03GL (Fortran2003 での GLUT の実装)http://www-stone.ch.cam.ac.uk/pub/f03gl/index.xhtml x64 版…

Windows の与えるマシン固有の ID 二種

Intel 掲示板スレッドに話題が出ていたので、参考にしつつ Fortran で書いてみました。http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/64037/Win32 プログラムはいまだ作法がよく分からず手探りなので、チョンボ…

天皇陛下万歳!

これは悪魔的にすばらしい。 これも飽きが来ない。 日本語うまいしwww 後半のソロシャウトがいい。

Fortran 用 CUDA インターフェース

イスラエルの企業 GASS 社がFortran 用 CUDA インターフェースを作っているようです。開発中のようですがメールするともらえます。マニュアル無しです。バイナリエディタでライブラリを覗けば、サブルーチン名は分かりますが・・ http://www.gass-ltd.co.il/…

■[Fortran2003]チラシ裏 C_F_POINTER

Cray Pointer CHARACTER (512) :: buff INTEGER(C_SIZE_T)::ibuff ! optional ? ! C_SIZE_T = 8byte POINTER(ibuff, buff) ! nerr = cudaGetLastError() ibuff = cudaGetErrorString( nerr ) Fortran2003 呼び出し順序に注意する。C_PTR から F_PTR への一方…

チラシ裏

fortran.c 中で『#define CUBLAS_USE_THUNKING』が必要。これは CUDA のイニシャライズ等を暗黙のうちに行い、Fortran 側では何もしない用にするもの。

Fortran で CUDA その3

■Pinned Memory Fortran で Pinned Memory というものを使うと転送が早くなるというので、それを用いることを考えます。第1巻: CUDAプログラミング入門 (日本語版) http://www.nvidia.co.jp/docs/IO/59373/VolumeI.pdf の 88 ページに記述があります。 まず…

Fortran で CUDA その2  台形積分

またぞろ簡単素朴な積分をやってみます。 を計算します。 を GPU の各スレッドごとに異なる について計算してもらって、積分範囲全域での被積分関数の値を配列に一気に返してもらいます。 実行結果 Fortran ソース 前半は Fortran 側で CUDA ルーチンを直接…

Fortran で CUDA

Fortran で CUDA を試みるチラシ裏メモ帳です。NVIDIA の CUDA ZONE にいつの間にか Fortran の項目が出来ていたのでいじってみました。Vista 64bit なので苦難の道です涙目です。 http://www.nvidia.co.jp/object/cuda_programming_tools_jp.html ■溝浚い D…

チラシ裏

MKLメモMKL\10.1.1.022\doc\userguide.pdf Configuring Intel® Visual Fortran to Link with Intel MKL To ensure that Intel® Visual Fortran (IVF) works correctly with Intel MKL, perform the following steps: 1. Select Project > Properties > Linke…

休憩

Fortran で GUID を得る。

Windows で識別のために生成される GUID を Fortran で求めます。参考ページ http://support.microsoft.com/kb/176790/ja ■出力結果 ■ Fortran Source Cray 式ポインターなど、非 ISO 規格の機能を使っています。Win32 なので仕方ないね。 イマイチ正しいか…

VMWare でネットにつながらなくなったとき

チラシ裏メモ帳 VMWare Waorkstation (期限切れおk) 編集ー>仮想ネットワークエディタ から、NATタブ、NATサービス再起動。

明治41年 竹島の地図

三月朔日。近頃、平和を乱す不貞の輩が囂しい。胡乱なり。 蔵書から図絵でも。

その他

CP/M-80 (FN) ファイル名は大文字のこと。拡張子はFOR。 cpm.exe f80 (FN), (FN)=(FN) cpm.exe L80 (FN)/E, (FN)/N cpm.exe (FN) C Newton's Method PROGRAM SQROOT WRITE(*, *) 'input positive real' READ(*, *) A X = 0.1 * A DO 10 I = 1, 10 X = 0.5 * …

バビロニアの数表

ブルーバックスの芹沢正三著『素数入門』6-5節に、古代バビロニアの三角関数表が載っているので、それを計算してみます。 数学の表現形式として、古代エジプト文明は測量術から幾何学を、古代メソポタミア文明は天体観測から整数論を好んだようです。古代ギ…

Rutherford Scattering 2

散乱に関するラザフォードの公式では、クーロン場の符号(斥力・引力)に依らずに同じ角度依存性が得られるわけですが、それについて計算結果を見てみることにします。 対称性に鑑みて、散乱体を含む二次元平面で切った計算をすることにします。散乱ポテンシ…