Ìý

Block logo

Block codeÌýis feature rich software that is able to perform Density Matrix Renormalization Group calculations on Hubbard, Heisenberg, and ab-initio Hamiltonians.ÌýSharma was the main author the Block code while he was a member of the Chan group. StackBlock is the successor of the Block code with threeÌýsignificant improvements.ÌýFirst, by optimizing the order of tensor contraction the CPU cost of performing calculations is reduced by a factor of between 2 to 4. Second, by using an internal stack based memory allocator, StackBlock allocates/deallocated memory at an O(1) cost and is immune to memory fragmentation.ÌýFinally, by using a hybrid OMP/MPI parallelization, StackBlock is able to deliver much better scaling with the number of CPUs,Ìýwhich in combination with lower CPU cost per node can show gains of more than a factor 10 compared to the Block code.

StackBlock works with virtually identical input file as the Block code, with the exception that two new optionalÌýÌýinput parameters specify how much memory will be dedicated for the calculation and how many threads per processor will be used. ExampleÌýof lines in the input file with these two options are as follows

memory, 8, g Ìý!8 gigabyte of memory will be used
num_thrds 10 Ìý!each processor will spawn 10 threadsÌý