- Notebook の %%time で FireDucks の時間計測をするときの落とし穴
Thursday, December 26, 2024 in Posts
FireDucks 開発チームの大道です.今回の開発者ブログでは時間計測のちょっとした落とし穴についてご紹介したいと思います. まずは結論 IPython Notebook で提供されている %%time マジックコマンドで FireDucks の時間計測をするときも,必ず _evaluate() メソッドを呼んで確実に評価が行われるようにしましょう! %%time df = pd.read_csv("input.csv") df._evaluate() Notebook におけ …
- FireDucksのトレースのとりかた
Friday, December 20, 2024 in Posts
FireDucksには,read_csv や groupby, sort などのそれぞれの処理がどれくらいの時間がかかったかを記録するトレース機能があります. この記事ではトレース機能の使い方を紹介します. トレースファイルの出力と表示 トレース機能を使うには,特にプログラムを修正する必要はありません. 以下のように環境変数を設定して実行するだけでトレース機能を利用することができます. $ FIREDUCKS_FLAGS="--trace=3" python …
- GPU版開発におけるpandasとの互換性確保
Thursday, December 19, 2024 in Posts
現在,FireDucksのGPU版の開発を進めています. FireDucksは,プログラムを実行時に中間言語に変換し,この中間言語上で最適化を行った後,中間言語をバックエンド向けにコンパイルし,実行するアーキテクチャになっています.現在公開されているCPU版FireDucksでは,このバックエンドがCPU向けになっています.GPU版の開発においては,バックエンドをGPUに変更します.これにより,CPU版向けに開発してきた中間言語への変換や最適化をそのまま利用することができます. GPU版バックエ …
- FireDucksが遅いと思ったら
Tuesday, November 05, 2024 in Posts
FireDucksが遅いと思ったら FireDucksに興味を持っていただきありがとうございます. この記事ではFireDucksを利用してプログラムが遅いと感じた場合,その考えられる原因と対処方法について記載します. 早速ですがプログラムが遅いと感じた場合,考えられる原因は大きく分けて2つあります. applyの利用もしくはループ処理の使用している. FireDucksで未実装のpandasの機能を使用している. 原因1の場合,ソースコード変更によってプログラムの性能が大きく向上する可能性があ …