Skip to content
View CubeGenGuard's full-sized avatar
  • Joined Jul 31, 2026

Block or report CubeGenGuard

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
CubeGenGuard/README.md

CubeGenGuard

日本語 | English


日本語

Intel P/Eコア環境におけるGaussian Cubegenの安定実行、CPU割り当て、ジョブ単位の疑似並列化を補助するWindows向けGUIツールです。

Latest release License: MIT Platform PowerShell

CubeGenGuardは、Gaussian純正のcubegen.exeをWindows上で管理・実行するためのGUI補助ツールです。IntelのPコア/Eコア混在環境で確認された停止、タイムアウト、極端な低速化への対策に加え、独立した複数のcube作成ジョブを同時に実行できるよう設計されています。

CubeGenGuard自身はcube生成エンジンを実装していません。Cubegenの数値計算手法を変更せず、Gaussian純正のcubegen.exeをそのまま利用します。各cubeファイルは、利用者のローカルGaussian環境に含まれる通常のcubegen.exeプロセスによって作成されます。

CubeGenGuardによる並列化は、一つのCubegen計算を複数の処理単位へ分割するものではありません。独立した複数のcubegen.exeを同時起動し、それぞれを別のCPU資源へ割り当てる、ジョブ単位の疑似並列化です。

CubeGenGuardはGaussianやCubegenを置き換えるソフトではなく、キュー作成、プロセス起動、CPU affinity管理、監視、ログ記録、出力保護を行う補助ソフトです。純正Cubegenが備えていない科学計算機能や、新しいcube物性を追加するものではありません。

現行リリース

CubeGenGuard v0.7.1

v0.7.1は、v0.7.0の実行ロジックを維持した文書・配布整備のパッチリリースです。アプリケーション側の変更はバージョン表示と注意文の版番号のみで、スケジューラ、Pコア割り当て、Cubegen引数、停止処理、設定、ログ、出力保護のロジックは変更していません。

配布物としては、Release Assets内のCubeGenGuard_GUI_v0.7.1.zipを使用してください。GitHubが自動生成するSource codeアーカイブは、Windows向けの検証対象配布ZIPではありません。ZIPのSHA256は、同じReleaseに添付された.sha256.txtで確認してください。

位置づけと設計方針

CubeGenGuardは、Gaussian Cubegenの代替実装ではなく、保守的な補助ツールとして設計されています。

  • cubeの数値計算は、すべてGaussian純正のcubegen.exeが行います。
  • Cubegenの科学計算アルゴリズムを再実装、改変、拡張しません。
  • インストールされているGaussianのCubegenが対応していない物性を追加しません。
  • CubeGenGuardの役割は、独立ジョブの準備、起動、CPU割り当て、監視、ログ記録、出力保護です。
  • 出力されたcubeファイルの科学的妥当性や解釈は、利用者が確認する必要があります。

疑似並列化は、複数の独立したcubeファイルを必要とするワークフローで有効です。例として、HOMO/LUMO、alpha/beta軌道、複数の分子軌道、複数構造、複数の.fchk、高密度グリッドでの反復的なcube作成が挙げられます。

特に、大きな分子や高密度・広範囲グリッドを用いたcube作成では、1ファイルあたりの計算時間が長くなる場合があります。そのような独立ジョブを複数作成する場合、同時実行によってワークロード全体の実時間を大きく短縮できる可能性があります。

ただし、CubeGenGuardは一つのCubegen計算そのものを高速化するものではありません。複数の純正Cubegenプロセスを同時に実行することで、複数ジョブ全体の完了時間を短縮します。効果は、ジョブ数、グリッドサイズ、CPU構成、メモリ容量、ストレージ速度、冷却性能、Gaussian/Cubegenの実装などに依存します。ジョブが一件だけの場合、疑似並列化による短縮効果はありません。

主な機能

  • 日本語・英語対応のWindows GUI
  • 複数のGaussian formatted checkpointファイル(.fchk)を登録可能
  • 同一.fchkからの複数軌道cube、および複数.fchkの独立ジョブを実行可能
  • 制限軌道、非制限軌道、alpha/beta軌道に対応
  • 検出された割り当て可能な物理Pコア数まで同時実行数を選択可能
  • 1並列では逐次実行
  • 2並列以上ではnproc=1を強制し、各cubegen.exeを異なる物理Pコアへ割り当て
  • 完了した実行スロットを後続ジョブへ再利用
  • Cubegen純正のmulti-orbital出力は一つの分割不能ジョブとして維持
  • Stop操作で実行中プロセスと未開始ジョブを一括停止
  • 重複出力パスの事前拒否
  • 一意な一時出力、検証後の最終配置、上書き前バックアップ
  • 実行中の出力競合、reparse point、シンボリックリンクに対する保護
  • cubeファイルのSHA256計算
  • セッションログ、ジョブ集計、CPUトポロジー診断
  • ログの自動追従停止、末尾移動、スクロール操作

動作要件

  • Microsoft Windows
  • Windows PowerShell 5.1(powershell.exe
  • cubegen.exeを含む正常なGaussianインストール
  • Gaussian .fchkファイル
  • ローカルPowerShellスクリプトの実行権限

CubeGenGuardは署名されていないPowerShellソースとして配布されます。所属機関のセキュリティ方針で必要な場合は、実行前にソースを確認してください。

Pコア割り当てを用いた並列モードは、主としてIntelのPコア/Eコア混在CPUを想定しています。他のCPU系列およびWindows構成での検証は限定的です。

インストール

  1. v0.7.1 ReleaseからCubeGenGuard_GUI_v0.7.1.zipをダウンロードします。
  2. 同梱またはRelease添付のSHA256を確認します。
  3. ZIPを通常のローカルフォルダーへ展開します。
  4. Run_Source_Validation.batを実行します。
  5. 2つのPowerShellファイルがPARSE OKになることを確認します。
  6. Run_CubeGenGuard.batからGUIを起動します。

ソース検証はPowerShell構文と一部のリリース用ソースパターンを確認します。対象PCでの実行試験を代替するものではありません。

基本的な使用方法

  1. ローカルのcubegen.exeを指定します。
  2. 一つ以上の.fchkを追加します。
  3. 物性、軌道チャネル、グリッドを選択します。
  4. 出力先を指定します。
  5. 同時実行数を設定します。
  6. cube作成を開始します。
  7. 完了集計と生成ファイルを確認します。

新しいPCでの最初の試験では、同時実行数1nproc=1、小さな.fchk一つ、空の新規出力フォルダーを推奨します。

実行モデル

CubeGenGuardのスケジューラは、独立したCubegenプロセス間だけを管理します。一つのcubegen.exe内部の数値計算を並列化するものではありません。

同時実行数 = 1

ジョブは逐次実行されます。nprocは利用者が設定でき、通常の単一Cubegenジョブとして動作します。

同時実行数 >= 2

独立ジョブ間でジョブ単位の疑似並列化を行います。

  • 各ジョブはGaussian純正のcubegen.exeを一つ起動します。
  • 各Cubegenプロセスはnproc=1で実行されます。
  • 各プロセスは異なる物理Pコアへ固定されます。
  • CPUトポロジーを正常に判定できる場合、Eコア側の論理プロセッサを除外します。
  • 完了したスロットは、後続の待機ジョブへ再利用されます。

一つのcube計算を複数ワーカーへ分割するのではなく、複数の独立したcubeファイルを同じ時間帯に作成します。大きなグリッドを用いた複数cube作成では、CPU、メモリ、冷却、ストレージに余裕があれば、総実時間の短縮が期待されます。

Native multi-orbitalジョブ

Cubegen純正のmulti-orbital要求は、一つのCubegenプロセス、一つのスケジューラジョブとして扱われます。複数の独立したnative multi-orbitalジョブは、別ジョブとして同時実行できます。

出力保護

CubeGenGuardは、一意な一時ファイルへの出力、内容確認、必要に応じた既存ファイルのバックアップ、検証済みファイルの最終配置というトランザクション型処理を行います。

追加の保護には、起動前の重複出力拒否、reparse pointとシンボリックリンクの拒否、実行中に最終出力が出現した場合の競合検出、安全に配置できない生成cubeの未コミットファイルとしての保持が含まれます。

これらは誤上書きの可能性を低減しますが、すべてのファイルシステム障害やハードウェア障害を防ぐものではありません。重要データは別途バックアップしてください。

検証状況

実行ロジックは、Intel Core i9-13980HXを搭載したWindows環境で、1・2・3・4・8並列、Affinity外部確認、10ジョブのスロット再利用、Stop、出力保護、native multi-orbital、日本語・空白パス、SHA256、逐次・並列出力一致などを確認しました。

v0.7.1では実行制御ロジックを変更していません。公開前には、v0.7.1配布ZIPそのものについて、Windows PowerShell 5.1構文検証と基本実行スモークテストを行ってください。詳細はWINDOWS_TEST_RESULTS_v0.7.1.mdを参照してください。

既知の制限

  • Pコア割り当てはWindows processor group 0に限定されます。
  • Core i9-10900Kでの本系列の回帰試験は未実施です。
  • 他のCPU、Windows版、Gaussian版での検証は限定的です。
  • 専門的なセキュリティ監査や独立した正式品質保証は受けていません。
  • CPUトポロジー判定はWindowsが提供する情報に依存し、すべてのCPUで正しく分類できる保証はありません。
  • 配布物は署名されていないPowerShellソースです。

問題報告

再現可能な不具合や機能要望はGitHub Issuesへ報告してください。機密構造、Gaussianバイナリ、ライセンス資料、未匿名化診断を公開Issueへ添付しないでください。詳細はSUPPORT.mdSECURITY.mdを参照してください。

文書一覧

文書 内容
RELEASE_NOTES_v0.7.1.md v0.7.1リリース概要
CHANGELOG.md 変更履歴
BUILD_HISTORY.md 並列版の開発履歴
WINDOWS_TEST_RESULTS_v0.7.1.md Windows検証記録と受入条件
IMPLEMENTATION_NOTES_v0.7.1.md 実装境界と変更範囲
PARALLEL_TEST_PLAN.md 並列機能の試験方針
PUBLISHING.md 公開手順
SUPPORT.md 問題報告と支援範囲
CONTRIBUTING.md 貢献方針
PRIVACY.md プライバシー方針
SECURITY.md セキュリティ方針
NOTICE.md 独立・非公式プロジェクトに関する注意

プライバシー

CubeGenGuardはローカルで動作し、.fchk.cube、Gaussian出力、診断情報を意図的に外部サービスへ送信しません。診断ファイルにはローカルパス、システム情報、ジョブ情報が含まれる場合があるため、共有前に内容を確認してください。

AI支援による開発

ソースコード、GUI、文書、試験項目、リリース資料の相当部分は、OpenAI ChatGPTの支援を受けて作成または改訂されました。これはOpenAIによる独立審査、承認、保証、推奨、サポートを意味しません。

ライセンスと免責

CubeGenGuardはMIT Licenseで公開されています。GaussianおよびCubegenは第三者のソフトウェアです。CubeGenGuardは独立した非公式プロジェクトであり、Gaussian, Inc.との提携または同社による承認を受けたものではありません。

CubeGenGuardはGaussian純正Cubegenを補助するランチャーおよびワークフロー管理ツールであり、Gaussianの代替またはCubegenの独立実装ではありません。現状有姿で提供され、いかなる保証もありません。研究上の結論や論文に使用する前に、出力を独立に検証してください。


English

A Windows GUI utility for reliable Gaussian Cubegen execution, CPU-affinity control, and job-level pseudo-parallelization on Intel P/E-core systems.

CubeGenGuard is a Windows GUI wrapper and execution-management utility for Gaussian's official cubegen.exe. It was developed to reduce hangs, timeouts, and severe slowdowns observed on some Intel hybrid P-core/E-core systems, while enabling controlled process-level concurrency across independent cube-generation jobs.

CubeGenGuard does not implement its own cube-generation engine, alter Cubegen's numerical procedures, or add scientific capabilities beyond those provided by the installed official Gaussian utility. Each cube file is generated by an ordinary cubegen.exe process from the user's local Gaussian installation.

The apparent parallelization is a job-level orchestration layer. CubeGenGuard launches multiple independent instances of the official Cubegen program and assigns them to separate CPU resources. It does not divide one Cubegen calculation among several workers.

CubeGenGuard is an auxiliary tool for queue construction, process control, CPU-affinity management, monitoring, logging, and output protection. It is not a replacement for Gaussian or Cubegen.

Current release

CubeGenGuard v0.7.1

Version 0.7.1 is a documentation and release-packaging patch over v0.7.0. Application-side changes are limited to version metadata and version references in localized caution text. Scheduler, P-core assignment, Cubegen invocation, cancellation, settings, logging, and transactional output behavior are unchanged.

Use the named Release Asset CubeGenGuard_GUI_v0.7.1.zip. GitHub's automatically generated Source code archives are not the Windows distribution package selected for runtime validation. Verify the ZIP against the .sha256.txt file attached to the same release.

Scope and design philosophy

CubeGenGuard is a conservative auxiliary tool, not a replacement implementation of Gaussian Cubegen.

  • All numerical cube generation is performed by the official cubegen.exe.
  • CubeGenGuard does not reproduce, modify, extend, or supersede Cubegen's scientific algorithms.
  • It does not introduce cube properties unavailable in the installed Gaussian version.
  • Its role is limited to preparing independent jobs, launching Cubegen processes, controlling CPU placement, monitoring execution, recording logs, and protecting outputs.
  • Scientific interpretation and validation of the resulting cube files remain the user's responsibility.

The process-level concurrency is job-level pseudo-parallelization. One Cubegen calculation is not internally divided among CubeGenGuard workers. Instead, several independent Cubegen jobs are executed at the same time.

This approach is useful for workflows requiring multiple separate cube files, including HOMO/LUMO, alpha/beta orbitals, several molecular orbitals, multiple input structures, and repeated dense-grid calculations. Large-molecule or dense-grid cube generation may require substantial time for each file. Concurrent execution can therefore substantially reduce total wall-clock time for a multi-job workload.

CubeGenGuard does not make a single Cubegen calculation itself faster. The benefit depends on job count, grid dimensions, CPU topology, memory, storage throughput, cooling, and the installed Cubegen version. A one-job workload receives no process-level concurrency benefit.

Main features

  • Windows GUI in English and Japanese
  • Multiple Gaussian formatted checkpoint (.fchk) inputs
  • Independent orbital cube jobs from the same or different .fchk files
  • Restricted and unrestricted orbital channels, including alpha and beta orbitals
  • Selectable concurrency up to the detected assignable physical P-core count
  • Sequential execution when concurrency is 1
  • At concurrency 2 or greater: forced nproc=1, P-core-only execution, and one distinct physical P-core per active Cubegen process
  • Worker-slot reuse until the queue is complete
  • Native Cubegen multi-orbital output retained as one indivisible job
  • Stop-all cancellation for active and pending jobs
  • Duplicate-output rejection, partial-file staging, verified backup, runtime race recovery, and reparse-point refusal
  • Optional SHA256 calculation for generated cube files
  • Session logs, job summaries, CPU-topology diagnostics, and controllable log navigation

Requirements and installation

Requirements are Microsoft Windows, Windows PowerShell 5.1, a working licensed Gaussian installation containing cubegen.exe, .fchk input files, and permission to execute local PowerShell scripts.

Download CubeGenGuard_GUI_v0.7.1.zip, verify its SHA256, extract it, run Run_Source_Validation.bat, confirm both PowerShell sources report PARSE OK, and then start the GUI with Run_CubeGenGuard.bat.

The source validator does not replace runtime testing on the target computer. Begin with concurrency 1, nproc=1, one small .fchk, and an empty output folder.

Execution model

At concurrency 1, jobs run sequentially and the nproc control remains available. At concurrency 2 or greater, each independent scheduler job launches one official cubegen.exe process with nproc=1 and a distinct physical P-core assignment. This does not split a native Cubegen calculation among multiple workers.

Native multi-orbital requests remain one Cubegen process and one scheduler job. Multiple independent native multi-orbital jobs may run concurrently as separate jobs.

Validation and limitations

The unchanged execution logic was tested on a Windows system with an Intel Core i9-13980HX, including concurrency 1/2/3/4/8, external affinity verification, ten-job slot reuse, cancellation, output protection, native multi-orbital behavior, Japanese and space-containing paths, SHA256 calculation, and sequential/parallel output identity.

Before publication, the v0.7.1 distribution package itself must pass Windows PowerShell 5.1 source validation and runtime smoke testing. See WINDOWS_TEST_RESULTS_v0.7.1.md.

Known limitations include processor-group-0-only P-core assignment, incomplete validation across other CPUs/Windows/Gaussian versions, no professional security audit or formal independent QA, and distribution as unsigned PowerShell source.

Support, privacy, and security

Use GitHub Issues for reproducible defects and feature requests. Do not attach Gaussian binaries, license material, confidential molecular structures, or unredacted diagnostics to public reports. Review SUPPORT.md, SECURITY.md, and PRIVACY.md.

CubeGenGuard runs locally and does not intentionally transmit .fchk, .cube, Gaussian output, or diagnostic data to an external service. Diagnostic files may contain paths and system metadata and must be reviewed before sharing.

AI-assisted development

Substantial portions of the source, GUI, documentation, tests, and release materials were created or revised with assistance from OpenAI's ChatGPT. This does not constitute independent review, approval, warranty, endorsement, or support by OpenAI.

License and disclaimer

CubeGenGuard is released under the MIT License. Gaussian and Cubegen are third-party software. CubeGenGuard is an independent and unofficial project and is not affiliated with or endorsed by Gaussian, Inc.

CubeGenGuard is an auxiliary launcher and workflow-management tool for the official Gaussian Cubegen utility. It is not a substitute for Gaussian, is not an independent implementation of Cubegen, and does not claim scientific functionality beyond the installed official cubegen.exe. It is provided as is, without warranty. Independently verify generated data before research or publication use.

Popular repositories Loading

  1. CubeGenGuard CubeGenGuard Public

    Workaround for Gaussian Cubegen hangs, timeouts, and severe slowdowns on Windows PCs with Intel 12th Gen and newer hybrid P/E-core CPUs; confirmed on Core i9-13980HX

    PowerShell