77

What are the state-of-the-art algorithms for long-integer multiplication? First let me address the point you raised about the schoolbook algorithm having $\mathcal{O}(n^2)$ scaling, by saying that this was not the state-of-the-art algorithm used in most matter modeling software. Below I give a brief overview: (1960) Karatsuba multiplication. $\mathcal{O}(n^{...


31

Julia The answers above allude to what some call the "two-language problem". In materials science it takes the form of writing your code in Fortran for speed, and writing an interface to it in Python for sanity and interactivity. Fortran will not go away any time soon due to the massive amount of legacy code available. For new codes, there is a new ...


31

There isn't a silver bullet for this, so in my humble opinion there isn't a "best" Linux distribution for this. Just as Kali is not "the best" for security and Scientific Linux is also not advertised as the "best" for HEP. They are just good enough alternatives that tackle some issues that may seem helpful for many users, such as including many things and ...


31

This $O(n\ln n)$ integer multiplication algorithm is a galactic algorithm, meaning that it won't be used despite being "of lower complexity" because it only becomes more efficient than existing algorithms for problems vastly larger than any relevant to us in practice. The problem is big-$O$ notation only tells us how the algorithm behaves for ...


29

"how honest is the Chinese claim of quantum supremacy?" It's equally (or at least as) honest in comparison to Google's claim. In a comment to this answer at Quantum Computing Stack Exchange, Craig Gidney (who works at Google and was a co-author on Google's Quantum Supremacy paper), confirmed that the classical computer would have been 2^(20*7/4) = ...


28

Fortran A large part of materials modelling involves density functional theory and molecular mechanics. From this compilation of quantum chemistry software, the most widely used programming language seems to be Fortran. Indeed, the popular packages VASP (commercial), Quantum Espresso and Siesta (both free) all use this language.


26

It depends on what chips datacenters are using. If large data centers switch over to ARM-based processors, scientific computing will follow. Since most of our software is open source (or not far from that), converting to ARM compatibility will not be too much of an issue once the demand is there. Scientific computing is currently dominated by enterprise-...


24

Canada: Compute Canada Before Compute Canada (Antiquity) Supercomputing in Canada began with several disparate groups: 1997: MACI (Multimedia Advanced Comp. Infrastructure) is formed from Alberta universities. 2001: WestGrid is formed by 7 Alberta and BC institutions (facilities launched in 2003). 1998: HPCVL is formed by institutions in Toronto and ...


23

Julia Okay, I have to add Julia. Everyone is saying Fortran or Python, and I love them both, but they both have issues. Fortran is easy for a compiled language to write, but I still have SIGSEGV burned into my retinas. Python is fast to write, but very slow. Learning how to cleverly make python fast (and it is still not all that fast) takes more time and ...


23

It depends on what you want to do I'll go first. For context: I do mostly Monte Carlo simulations, especially quantum Monte Carlo. My work has focused on spin systems, using techniques like the Metropolis Algorithm and stochastic series expansion QMC. For Writing Simulations: In my field there are few software packages available and the algorithms are ...


22

Python @taciteloquence has already mentioned Python for data analysis and visualization, but let me add one more angle: automation. Simulation nowadays often means high-throughput, automated simulation. Not only for large scale projects, like Materials Project but also individual projects where large amounts of data generated for screening properties, ...


21

To take a slight detour, we can also look at the progress of matrix multiplication algorithms. As mentioned in a few comments here, standard matrix multiplication is $O(n^{3})$ and any exact method for a general matrix is going to require $O(n^{2})$ operations just to process all the elements of initial matrices. Over the last 50 years, different methods ...


21

One mistake you already described is using virtualization. Nothing is more reliable than running your code directly on your hardware, without intermediaries (even when the virtualization software and Windows are evolving each day). It will be better to have a dual-boot system if you really need Windows than virtualization. To avoid mistakes, you need to ...


20

Raspberry Pi clusters are okay for studying networked systems and job schedulers, but bad for any real calculations. There are several problems: there's very little memory per CPU, the interconnect is slow, having local disk is hard... but worst of all, the bang per buck is very low, see e.g. a Phoronix benchmark. So, in summary: Intel/AMD is still cheaper ...


20

USA: Facilities funded by NSF XSEDE (Extreme Science and Engineering Discovery Environment) XSEDE (pronounced like "exceed") provides access to both computational resources and trainings on HPC. These may be especially useful if your institution does not provide good support for scientific computing. From their website: XSEDE provides live and ...


19

It depends on what you want to do I think one major question that needs to be asked is "What do you want to do?". Develop new quantum chemistry codes? Use them more efficiently? Automate data processing? User @taciteloquence Has given a good answer I think. Many legacy codes are written in Fortran - newer codes will be typically written in C or C++....


19

Fedora Susi Lehtola's answer makes some good points, and I will elaborate on two of them: The Linux distributions mentioned in your question, which cater to specific communities (e.g. Scientific Linux for particle physics, MathLibre for math, Kali Linux for cybersecurity) are descendants of much more widely-known distributions, so they are not acutely ...


19

Ubuntu For your workstation or laptop the best linux distribution is Ubuntu. Many of the recommendations here, like CentOS, are great for servers, but you might also have a laptop or desktop computer that you use for developing your code and running simulations. Ubuntu has gone much further than other linux distributions in developing a consumer-grade user ...


19

The problem is that this is a highly volatile question. In order to meaningfully benchmark programs, you have to use the exact same compiler flags (may require heavy hacking) and use the same algorithms and parameters (accuracy, cutoffs, quadrature grids, etc). But, if a program supports many kinds of algorithms, then each of them would have to be ...


18

It depends on what you want to do It depends on what you want to do. As a couple of others have pointed out, many of the computer programs used in computational chemistry and theoretical solid state physics are written in Fortran. However, that does not imply that you should learn Fortran and it does not mean that Fortran is the best language for materials ...


18

United Kingdom (Great Britain) ARCHER (Advanced Research Computing High End Resource) ARCHER is as of today the UK's national supercomputing service, run by the EPCC (Edinburgh Parallel Computing Centre). It has been operating since late 2013, and is based around a Cray XC30 supercomputer. Note, however, ARCHER is right at the end of its lifecycle. It was ...


18

"Are there critical mistakes to avoid when creating a matter modeling workstation (32-128 cores)?" 32-128 is quite a big range since at 128 you'd be limited to non-mainstream chips like the Ampere and as far as I know, the most cores in an Intel processor apart from the Xeon Phi line (which was discontinued in 2020 and wasn't a conventional ...


18

My answer to "GUI for DFT calculations" is a good introduction to my stance on this issue, but I will address your more specific questions here. First for some preliminaries: Software development is expensive (whether monetarily, to hire developers, or temporally, in terms of the time and energy that goes into it). Almost all of computational ...


17

There are several such studies, particularly focusing on the machine-learning of critical temperatures. "Machine learning modeling of superconducting critical temperature" "An acceleration search method of higher T c superconductors by a machine learning algorithm" "Can machine learning identify the next high-temperature superconductor? Examining ...


17

OpenBLAS is a free, open-source BLAS library that has fast support for even recent processors. (It is based on the earlier, famous GotoBLAS library which became obsolete years ago.) OpenBLAS is also multi-platform: in addition to x86 and x86_64 it also supports other architectures like ARM and PowerPC. OpenBLAS also has runtime CPU detection; if you compile ...


17

Can someone explain in detail the impact of any of the multiplication algorithms scaling better than N2, for some practical application? An actual application is right in front of our eyes: digital signature using RSA. If I click on the lock icon for the present page in my browser, then on the arrow on the right of Connection secure, then More Information, ...


17

USA: Facilities funded by DOE For USA, XSEDE was mentioned in [another answer](https://mattermodeling.stackexchange.com/a/1517/671). It is funded by the US National Science Foundation. There are also some facilities under Department of Energy (DOE) that might be more or less approachable depending on research profile and funding sources. NERSC (National ...


17

"Would it be feasible to create my own small clusters from 2 or 3 laptops that I have and somehow get them to run in parallel so I will be able to execute DFT codes more efficiently." It's certainly possible but it would not help much at all. If you are considering to put together three laptops (each with, say, 4 cores) to get a 12-core "...


16

Scientific Linux is a rebuild of Red Hat Enterprise Linux. It started out before the CentOS project really took off. Nowadays CentOS is officially supported by Red Hat, but Scientific Linux still exists on its own. Since both CentOS and Scientific Linux are just rebuilds of RHEL, all three should be binary compatible, and you should be able to use the same ...


16

China: National supercomputers China has 6 national supercomputer centers and several university/Chinese academy of science supercomputer centers. Here are the brief about China national national supercomputer centers. NATIONAL SUPERCOMPUTING CENTER IN CHANGSHA Hunan University is responsible for operation management, National University of Defense ...


Only top voted, non community-wiki answers of a minimum length are eligible