[SCore-users-jp] omniの制限?

Mitsuhisa Sato msato @ is.tsukuba.ac.jp
2002年 7月 13日 (土) 03:07:25 JST


入谷 様、

From: iriya @ crc.co.jp (入谷 佳一)
Subject: [SCore-users-jp] omniの制限?
Date: Fri, 12 Jul 2002 18:22:17 +0900

> 入谷と申します.
> 
> Score環境でMPI-OpenMPでのプログラムをつくるために
> 昨日からomni Fortran コンパイラを使い始めました.
> 気がついた点を報告します. 

Feed backありがとうございます。

> ところで,こうした情報はどこかで見られるのでしょうか?
> webやscoreのMLの過去ログを探しましたが見つけられませんでした.

レポートされたバグに関してはできるだけ対応するつもりですので、よろしく
お願いします。

> 1. open文のファイル名の指定の時点で文字列を結合できない
> 
>     open(io, file=head//'.out')
>   とすると
>     open: illegal unit number
>     apparent state: internal I/O
>     lately writing direct unformatted external IO
>     <0> SCORE: Program signaled (SIGABRT).
>   となる.
>     fname = head//'.out'
>     open(io, file=fname)
>   で対応.

これについては、BUGとおもわれますのでfixして、currentに反映します。

> 2.サブルーチンで大きな配列をローカルに取れない
>       program main
>       call sub1()
>       stop
>       end
> 
>       subroutine sub1()
>       integer ii(600000)
>       ii(1) = 1
>       return
>       end
> 
>   は Segmentation fault となる.
>       integer ii(600000)
>       save ii
>   のようにsaveが必要.
>   -static や -fno-automatic は効かなかった.

OpenMPでは、基本的にすべてのlocal変数がstack上にとられることになります。
つまり、スレッドごとにローカル変数をとるためです。

ですので、saveで指定することになりますが、threadによって共有されること
に注意する必要があります。

もしも、大きい配列をstack上に取る場合には、threadあたりのスタックサイ
ズを設定する環境変数がありますが、thread libraryやOSによってはこの機能
がサポートされていない場合があります。

> 3. !によるコメント
>   7カラム以降から始まる!によるコメントだけの行は parse error となる.
>   実行文の後ろの!によるコメントはOK

これもbugかとおもいますので、なおします。

> 4. 乱数
>   なにもライブラリを指定しないと rand() 等の関数が呼べなくなりました.

???これはどういうことでしょうか?

さとう。






SCore-users-jp メーリングリストの案内