LLNL / ExaCA

Cellular automata code for alloy nucleation and solidification written with Kokkos

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Documentation updates

GuoChi-Li opened this issue · comments

Continue to discuss the documentation in #256 (comment)

The building outline

The building outline was confusing when I first read it. I think it should be like

  • Building Required Packages
    • Building Kokkos
      • Building Kokkos with CPU
      • Building Kookos with CUDA
      • ......
  • Building ExaCA
    • Troubleshooting
      • Download failed for JSON

or

  • Building Required Packages
    • Building Kokkos
      • Building Kokkos with CPU
      • Building Kookos with CUDA
      • ......
  • Building ExaCA
  • Troubleshooting
    • Download failed for JSON

Since the default option in the Cmake file will download JSON, I think the Download failed for JSON should be in troubleshooting.

The Kokkos architecture flag

The Kokkos architecture flag was like a mystery when I first read it. I know my hardware architecture is unlikely to match yours, but I don't know which flag I should use. Maybe we can add more descriptions and reference pages in this part.
Something like ...
For example, I use RTX 2080 as my GPU, and the architecture for RTX 2080 is TURING. Therefore, I should add -D Kokkos_ARCH_TURING75=ON when I build Kokkos. For more information, you can find it here.
https://kokkos.github.io/kokkos-core-wiki/keywords.html#architecture-keywords
https://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/

Other feedbacks

I also use other open software (e.g. MOOSE), and I have found some differences. Some will take a lot of time and work, but I think it is good for the community to grow.

The wiki or document pages

Currently, the documents are in different places. Maintaining and searching will take much work when the program becomes large.

Discussion pages

It is good to open the discussion pages and answer the questions (or let people discuss the problems they want to solve using this package).

Testing unit

Currently, the testing unit is not ON when I follow the building code. The first thing I want is to check if the program is functioning well after the installation. In my opinion, the testing part should be the default option.

  1. I agree with your reordering of the build instructions
  2. Added the link to the Kokkos arch flags - maybe we add more here
  3. I added more on how to test, but I disagree on enabling by default
  4. Other suggestions are definitely useful, but will take time with a small effort like this

That's great. Thanks.