Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

StableDQMC.jl #5

Open
carstenbauer opened this issue Mar 28, 2023 · 2 comments
Open

StableDQMC.jl #5

carstenbauer opened this issue Mar 28, 2023 · 2 comments

Comments

@carstenbauer
Copy link

Out of curiosity, why make a new package instead of extending StableDQMC.jl?

Also, a bit of bike shedding: the name StableLinearAlgebra.jl is a bit too general for my taste and could have been used for a more general effort of implementing stable linear algebra. But AFAICS you already registered the package, so it's too late for this discussion.

@cohensbw
Copy link
Member

Yeah, in hindsight you are 100% right about the package name...

I implemented the package for a few reasons. Partly just for the purpose of learning and understanding how the stabilization worked. Complicated algorithms like that always feel a bit like a black box to me until I implement them myself. Also, I have a slightly OCD level fixation with trying to eliminate as many dynamic memory allocation in my code as I can, so I wrote this package in such a way that try an eliminate all of them. If you take a look at the JDQMCFramework.jl package that uses this package, the entire framework for DQMC can be set up and run with no dynamic memory allocations occurring. I realize this is most likely completely overkill, but my goal was to make that package and this one as lightweight as possible, and part of that for me included having these "low-level" packages avoid dynamic memory allocations wherever possible. I have been bitten by dynamic memory allocation in the past with Julia. Especially when you are trying to convince a PhD advisor that coding in Julia is not a bad idea, and he asks you to benchmark your codes against his Fortran codes... 😆

@carstenbauer
Copy link
Author

Fair enough. In particular, I can understand the point about having to implement the algorithms yourself to understand them properly. In general, I just think that it would be great to join forces where possible and avoid fragmenting the ecosystem unnecessarily.

Fortunately, I've been lucky with my PhD supervisor. He was open about me using Julia for DQMC and, by now, almost the entire condensed matter department is using Julia :)

BTW, you may or may not know this but you have a QMC + Julia companion at ORNL in @williamfgc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants