jeffhammond / NWChem-mini-app

A simulation of the TCE performance bottleneck

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NWChem-mini-app

These Global Arrays programs emulate the Coupled Cluster/Tensor Contraction Engine's behavior in NWChem for the purpose of understanding performance and experimenting with alternate execution models.

There are two versions, one written in Fortran 77 and the other in C. Both contain a function called bench_orig() which emulates NWChem's CC/TCE execution model (Get(A), Get(B), DGEMM, Put(C), repeat). Currently, there is an on-node message queue version working in bench.F (bench_workq), which can be compared to the original NWChem execution model. Only the Fortran code can currently use the "workq/" library.

The C code (bench.c) contains a version that uses non-blocking calls to GA_Get and GA_Put.

About

A simulation of the TCE performance bottleneck

License:MIT License


Languages

Language:C 66.1%Language:Fortran 30.1%Language:Makefile 3.8%