トップ «前の日記(2017-12-28) 最新 次の日記(2018-01-12)» 編集

Orz日記 by Akio Morita

ToDo:

  • 15 SAD Fit[]回りの障害事例の解析
  • 10 smart pointer版PEGクラスの再実装(Left Recursionまわり)
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|06|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|06|07|08|10|12|
2016|01|02|03|05|06|08|10|11|
2017|01|02|03|04|05|06|07|09|10|11|12|
2018|01|02|03|04|06|07|08|09|10|11|12|
2019|01|03|04|05|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|

2018-01-08 [長年日記]

_ [雑記]仕事始め

運転開始に向けていろいろ片付けないといけないのだが、モチベーションが上がってこないorz

_ [SAD]検討継続中の案件まとめ

  • LLVM/flang buildの試験
  • Bessel関数実装の更新とLogBesselの追加
  • 組み込み数学関数の更新
    • 2引数数学関数動作で、Nest型動作のサポート(MapThread型は実装済)
  • mapalloc frameworkから mmap_utilsへの書き換え(2017.12.01及び2017.12.04を参照)
  • tffscalc内の並列化まわりのワークエリア割り当てコードの再検証(2017.12.14を参照)
  • tfefunrefの direct dispatch化
    • func_table moduleのマージ
    • 依存関係にあるtf* moduleのマージが必要
      • 機械的な書き換えだが、作業範囲が広いので注意

_ [SAD][LLVM]SAD on LLVM/flang

取り合えずテストビルドで見つかったコンパイル時の問題

  • -fno-backslashが必要(デフォルトが-fbackslashな模様)
  • 実装不足でコンパイル出来ないコードがある
    • src/ttdr.f
      • F90-S-0079-Keyword form of argument illegal in this context for exitstat
    • src/tfefun_math.f
      • F90-S-0155-Intrinsic not supported in initialization: spacing
    • src/tfefun.f
      • F90-S-0038-Symbol, atan, has not been explicitly declared
      • F90-S-0074-Illegal number or type of arguments to asinh - keyword argument x
      • F90-S-0074-Illegal number or type of arguments to acosh - keyword argument x
      • F90-S-0074-Illegal number or type of arguments to atanh - keyword argument x
    • src/tfwrite.f
      • F90-S-0038-Symbol, fgetc, has not been explicitly declared
      • F90-S-0079-Keyword form of argument illegal in this context for exitstat
    • src/gamma.f
      • F90-S-0155-Intrinsic not supported in initialization: spacing
    • sim/getfd_FNUM.f
      • F90-S-0038-Symbol, fnum, has not been explicitly declared

まとめるとFortranまわりのコンパイル時点の問題は

  1. GNU拡張 fgetc, fnumが未実装
  2. Fortran 2008 execute_command_lineが未実装
  3. Fortran 95 spacingによる初期化式が未実装
  4. tfefun.fでの数学関数参照エラー
    • atan(y,x)からのcomplexへの型拡張代入で型宣言が曖昧との指摘
    • asinh, acosh, atanhでの型エラー
      • complexサポートが未実装?(ランタイムのソースに、casinh等の宣言が無い)
    • 総称型の数学関数実装が不完全?
    • tfefun_math.fは別のエラーで問題が現れるコードまでたどり着いていない?

(1)に関しては、Fortran規格外の拡張なので、コンパイラ的には悪くない(実用上は何らかの代替手段が必要だが)

まあ、新規に書き起こされたコンパイラとしては悪くない成績


カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記