Comments (5)
As a primer and to refresh myself on the simpler CC style I fixed dt_amplitudes
opt_einsum
path generator; see #75
from termfactory.
Okay so now I should be better prepared to handle this issue after fixing #76
from termfactory.
Testing on first implementation of opt_einsum
calls with optimized paths:
Testing eT_zhz_eqs_H_2_P_4_T_1_exp_4_Z_3.py
with linear Cytosine with Z3 T1 terms in the i
50_cytosine_withopt_z3.txt
ntegrator
50_cytosine_noopt_z3.txt
We see a total time of 20.479s
for einsum calls with optimized paths versus 86.886
with no optimized paths.
This is for 50 integration steps where both approaches were able to propagate to 6.883405e-01 fs
The optimized took 0.641s
per rk_step
versus 2.974s
for un-optimized.
Estimating a somewhat consistent rate of 50 steps to 0.6883405fs it takes ~ 73 batches of 50 steps (3650) to get to 50fs.
So the optimized code should save 170s or so, almost 3 minutes
Should try hexahelicene next
from termfactory.
Hexahelicene:
only 25 integration steps because this one takes so long
25_hexzhelicene_withopt_z3.txt
25_hexzhelicene_npopt_z3.txt
We see a total time of 344.653s
for einsum calls with optimized paths versus 4230.073
with no optimized paths.
Both approaches were able to propagate to 2.549166e-01fs
The optimized took 11.385s
per rk_step versus 155.004s
for un-optimized.
Estimating a somewhat consistent rate of 25 steps to 2.549166e-01fs
it takes ~ 196 batches of 25 steps (4903) to get to 50fs.
So the optimized code should take about 2243s
, approximately 37~38 minutes.
The un-optimized would take 303801s
, approximately 506 minutes or 8 1/2 hours.
This should save about 8 hours on the unoptimized code.
from termfactory.
Changes pushed to t-amplitudes
and Hexahelicene spectra is being generated. Changes seem to be working, but there is more improvements that can be done so it might be best to wait before a pull-request.
from termfactory.
Related Issues (20)
- Reminder to update log_conf.py
- Trying out the planning feature
- Identify each branch and make a plan for them HOT 18
- Strip out old files HOT 2
- Create workflow to replicate purpose of temp_file_renaming HOT 4
- Minimal prototype of linalg generator HOT 1
- Organization of modules
- Implement `opt_einsum` generator for full cc HOT 3
- Improve/Speed up eT zhz pytests HOT 5
- left hand side testing for `latex_eT_zhz.py` specifically around lines:
- Add test to `blanket_test.py` to produce code for eT H Z
- Automatic documentation using Sphinx HOT 3
- Possibly use the new impact analysis from code cov HOT 1
- Improve coverage exclusion specificity
- Change excited state code and other non implemented code to use `NotImplementedError` HOT 1
- Add test for `_write_third_eTz_einsum_python` with `suppress_empty_if_checks=False` HOT 1
- Rename the output eTHZ files, or change the path in t-amplitudes?
- Latest testing workflow fails for unknown reason? HOT 1
- First attempt at Integrating sigrid HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from termfactory.