TecIO libraryは、サードパーティアプリケーションがTecplotファイルフォーマットを読み書きできるようにします。SZLファイルを書くためのAPIがより使いやすくなり、必要なメモリも少なくなりました。メモリの節約は、APIがデータを受け取る順序をより柔軟にしたことによるものです。TecIOは64ビットのインデックスをサポートし、個々のゾーンが20億ノードを超えることを可能にします!データシート(PDF)を読む。
何千ものゾーンを95%高速で書き込み
.szplt(SZL)ファイルフォーマットとTecIO-MPIライブラリの導入により、超並列コンピュータからパーティション分割されたゾーンを効率的に並列出力できるようになりました。
しかし、初期のバージョンは、多くの小さなゾーンを出力するために最適化されていませんでした。数百、あるいは数千の個々のグリッドゾーンを使用する構造化グリッドソルバを使用している場合、問題に遭遇するかもしれません。
TecIO-MPIには、このようなケースのための最適化が含まれています。約65,000ゾーンを使った最近のテストでは、2020 R2バージョンと比較して出力時間が95%短縮され、さらに大規模なケースにも対応できる線形スケーリングが実証されました。
TecIOはどこで入手できますか?
TecIO用ダイナミックライブラリは、Tecplot 360に同梱されています。これらはTecplot 360インストールのbinフォルダにあります。ヘッダファイルはincludeフォルダにあります。サンプルプログラムはutil/tecioフォルダの下にあります。Tecplot 360でサポートされているすべてのプラットフォームは、静的および動的TecIOライブラリでサポートされています。
Tecplot 360を無料でお試しください。
LinuxとMacintoshに実装されたTecIO MPIは、Tecplot 360のOpenMPIを使用します。WindowsではMicrosoft MPIを使用します。TecIO-MPIが別のMPIで必要な場合は、ソースコード(難読化)をダウンロードし、ターゲットマシンでビルドしてください。
TecIOのドキュメントとサンプルは、データフォーマットガイドに掲載されています。さらにサポートが必要な場合は、テクニカルサポートまでEメール(support@tecplot.com)またはお電話(425-653-9393)でご連絡ください。また、ブログと ビデオでTecIOとSZLについてさらに詳しく知ることができます。
なぜコードからSZLバイナリファイルを書くのか?
Tecplot 360に結果をインポートして分析する場合、バイナリ形式はデータファイルのサイズを縮小し、特にASCIIファイルと比較して速度と効率を向上させます。
- Tecplot SZL (.szplt) ー 新しいSZLフォーマットは、大規模データセット用に最適化されており、一般的なワークフローでメモリフットプリントを削減しながら、パフォーマンスを大幅に向上させます。TecIOはSZLファイルを読み書きできます。特に、有限要素(非構造格子)データはSZLファイルで圧縮されます。最後に、SZLファイルはMPIランクから並列に書き込むことができます。
- Tecplot PLT (.plt)ー Tecplot 360以前のバージョンで書かれたレガシーフォーマットは、Tecplot 360の新しいバージョンでもサポートされています。これは書き込み専用フォーマットです。
TecIO FAQ
TecIO(2013)と最新版のTecIOの違いは何ですか?
TecIOの2013バージョンは、.pltのファイル拡張子を持つTecplotバイナリの古いPLTバージョンを出力します。 TecIOの最新バージョンは、.szpltのファイル拡張子を持つTecplotのSZLバイナリフォーマットも出力します。
Tecplot 360の新しいバージョン(2014以降)は、PLTとSZLの両方のファイル形式を読み込むことができます。
TecIOがサポートしているプログラミング言語は何ですか?
TecIOはCのAPIを使っているので、C、C++、Fortranから簡単に呼び出すことができます。Tecio/examplesフォルダには、C++とFortranの両方のサンプルがあります。
TecIOは並列にデータを書き込むことができますか?
TecIOには2つのバージョンがあります:TecIO-MPIはデータの並列書き込みをサポートし、大規模CFDコードのようなMPI(メッセージ・パッシング・インターフェイス)アプリケーションで使用されます。標準的なTecIOはスレッドを使って並列に予備計算を行いますが、データは逐次的に書き込まれます。
TecIOはどのようなデータ型に対応していますか?
TecIOは、単精度または倍精度の浮動小数点数を書き込むことができます。APIは、8ビット、16ビット、32ビットの整数変数をSZLファイルに出力できます。64ビットのゾーンサイズのサポートにより、SZLファイルフォーマットでは個々のゾーンが20億点を超えます。多面体ゾーンは、PLTフォーマットでは20億セルに制限されます。(多面体ゾーンはSZLファイルフォーマットではサポートされていません)。
TecIOがサポートするゾーンタイプは?
すべてのゾーンタイプは、PLTファイルにシリアル(1つのMPIランクから)で書き込むことができます。SZLファイルについては、以下の表を参照してください。"はい(パーティションなし) "は、ゾーンはシリアルで書き込まれなければならないことを意味します。
ゾーンタイプ | PLT | SZL | パーティショニングされたSZL |
---|---|---|---|
Iオーダー、IJオーダー | はい | はい | はい(パーティションなし) |
IJKオーダー | はい | はい | はい |
FE-ラインセグ、FE-トライアングル、FE-クォードラテラル | はい | はい | はい(パーティションなし) |
FE四面体、FEブリック | はい | はい | はい |
FEポリヘドラル | はい | いいえ | いいえ |
「パーティショニングされた」データとは?
TecIO library 、SZLデータファイルの書き込み時に、有限要素ゾーンの分割をサポートします。つまり、ゾーンを一度に書き込む必要はなく、分割して書き込むことができます。この機能は、クラスタ内の独立したノード上で複数のソルバープロセスを実行し、それぞれがシミュレーションのサブセットを解くことで、大規模な解を並列計算する大規模シミュレーションコード(CFDなど)を使用する場合に使用します。しかし、開発目的など、必要に応じて、デスクトップワークステーション上で実行されるシングルプロセスのソルバーでパーティショニングされたデータを使用することもできます。
ゾーンパーティションは同じSZLファイルに書き込まれ、Tecplot 360に読み込まれたときに1つのゾーンに再結合されます。パーティションは表示されませんし、ゾーンがパーティション化されていることすらわかりません。
「ゴーストノード」と「ゴーストセル」とは何ですか?
パーティショニングされた大規模シミュレーションでは、通常、ゾーンパーティションがわずかに重なる必要があります。言い換えれば、パーティション間の境界の両側にあるノードやセルは、複数のソルバープロセスに存在することになります。まず、パーティショニングルールに従ってそれを "所有 "するプロセス、次に、空間的に隣接するパーティションを解くプロセスに存在します。「所有する」プロセス以外のプロセスでは、このようなデータは一般的に "ゴーストセル "や "ゴーストノード "と呼ばれます。
TecIO libraryは、分割されたデータを後で視覚化に適した単一の仮想データセットに結合するために、重複するセルとノードに関する情報を必要とします。このため、各ソルバープロセスは、ゾーンデータ(ゴーストノードとゴーストセルを含む必要がある)とともに、ゴーストノードとゴーストセルのリストを渡す必要があります。このゴーストノードとゴーストセルのリストをTecIOに渡すことで、SZLファイルへの重複データの書き込みをなくすことができます。
グリッドファイルとソリューションファイルを別々に持つことはできますか?
グリッドとソリューションデータは別々のファイルに書き込むことができます。同様に、複数の解のタイムステップ間で同じグリッドを共有することもできます。