You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Rewrite and reorganize sequential and multithreaded block sparse contraction, making use of `Folds.foreach` to clean up the code, make some parts more generic to sequential vs. threaded execution, as well as reorganizing to make it easier to try out different algorithms and backends.
- New benchmark for sequential and threaded block sparse contraction, based on the application of a 2-site effective Hamiltonian with tensor sparsity structure saved from a hybrid momentum space Hubbard model DMRG calculation with bond dimension 3000. The indices and fluxes of the tensors in the contraction are saved as HDF5 files so that random ITensors with the same block structure can be reproduced for benchmarking.
- Allow specifying a random number generator when constructing random ITensors and MPS by passing an RNG as the first input. Defaults to the default global RNG from Julia.
- Allow overloading `orthogonalize!` by dispatching on a projected MPO type in DMRG, which makes it easier to implement MPI parallelized sums of MPOs in ITensor/ITensorParallel.jl#15.
@@ -134,9 +148,9 @@ function _enable_threaded_blocksparse()
134
148
"WARNING: You are trying to enable block sparse multithreading, but you have started Julia with only a single thread. You can start Julia with `N` threads with `julia -t N`, and check the number of threads Julia can use with `Threads.nthreads()`. Your system has $(Sys.CPU_THREADS) threads available to use, which you can determine by running `Sys.CPU_THREADS`.\n",
"WARNING: You are enabling block sparse multithreading, but BLAS $(BLAS.vendor()) is currently set to use $(blas_get_num_threads()) threads. When using block sparse multithreading, we recommend setting BLAS to use only a single thread, otherwise you may see suboptimal performance. You can set it with `using LinearAlgebra; BLAS.set_num_threads(1)`.\n",
153
+
"WARNING: You are enabling block sparse multithreading, but your BLAS configuration $(BLAS.get_config()) is currently set to use $(BLAS.get_num_threads()) threads. When using block sparse multithreading, we recommend setting BLAS to use only a single thread, otherwise you may see suboptimal performance. You can set it with `using LinearAlgebra; BLAS.set_num_threads(1)`.\n",
0 commit comments