Skip to content

Conversation

@junghans
Copy link

No description provided.

@junghans junghans marked this pull request as ready for review April 16, 2025 13:10
Copy link
Contributor

@nmm0 nmm0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, though if we keep adding more distros we may want to format as a table rather than as prose :P

Copy link
Member

@cedricchevalier19 cedricchevalier19 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure we want to advertise these packages without having tested them.
I had trouble with the kokkos debian's packaging before, and these packages can be pretty outdated (https://repology.org/project/kokkos/versions).

Can we check that the install is fine for us before merging this into the main documentation?

@dalg24
Copy link
Member

dalg24 commented Apr 16, 2025

I expected we'd provide a description of the packages

@junghans
Copy link
Author

@rbberger maintains the Fedora package. I think v4.6 isn't packaged as we wait for lammps to be bumped. I am also not sure why they list Fedora below 40 as they are all EOL'ed.

The debian package is @alexmyczko

openSUSE is PR driven.

@junghans
Copy link
Author

Looks good to me, though if we keep adding more distros we may want to format as a table rather than as prose :P

Yeah, a table might be better, but I will leave that to somebody with more rst skills ;-)

Copy link
Member

@cedricchevalier19 cedricchevalier19 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is better to advise not to use distribution packages for Kokkos as long as we have not "vetted/tested" them.

@junghans
Copy link
Author

junghans commented Apr 17, 2025

I think it is better to advise not to use distribution packages for Kokkos as long as we have not "vetted/tested" them.

Distro Command to install Backend Vetted Maintainer Build Source
Fedora dnf install kokkos-devel openMP, rocm, serial a bit @rbberger here
Debian apt-get install libkokkos-dev openMP a bit @alexmyczko here
Conda conda install conda-forge::kokkos openMP, serial, CUDA nope @carterbox here
openSUSE zypper install kokkos-devel openMP, serial nope [email protected] here
Gentoo emerge kokkos whatever enabled a bit @tamiko here
Arch pacman -S kokkos Threads, serial maybe @carlosal1015 here
Mac Port port install kokkos-devel openMP, serial no @MarcusCalhoun-Lopez here
Spack spack install kokkos whatever enabled yes @cedricchevalier19, @nmm0, @lucbv here

@junghans
Copy link
Author

Can one of you make the above table into rst?

@carterbox
Copy link

@junghans, your summary table needs correction. conda-forge uses threads for Windows and openMP for unix because msvc doesn't have good openmp support.

@nmm0
Copy link
Contributor

nmm0 commented Apr 17, 2025

+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Distro   | Command to install                    | Backend              | Vetted | Maintainer                            | Build Source                                                                                             |
+==========+=======================================+======================+========+=======================================+==========================================================================================================+
| Fedora   | ``dnf install kokkos-devel``          | openMP, rocm, serial | a bit  | rbberger                              | `here <https://src.fedoraproject.org/rpms/kokkos/blob/rawhide/f/kokkos.spec>`_                           |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Debian   | ``apt-get install libkokkos-dev``     | openMP               | a bit  | alexmyczko                            | `here <https://salsa.debian.org/debian/kokkos/-/blob/master/debian/rules>`_                              |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Conda    | ``conda install conda-forge::kokkos`` | openMP, serial, CUDA | nope   | carterbox                             | `here <https://github.com/conda-forge/kokkos-feedstock/blob/main/recipe/build.sh>`_                      |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| openSUSE | ``zypper install kokkos-devel``       | openMP, serial       | nope   | `[email protected] <mailto:[email protected]>`_ | `here <https://build.opensuse.org/projects/science/packages/kokkos/files/kokkos.spec?expand=1>`_         |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Gentoo   | ``emerge kokkos``                     | whatever enabled     | a bit  | tamiko                                | `here <https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-cpp/kokkos/kokkos-4.3.1.ebuild>`_              |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Arch     | ``pacman -S kokkos``                  | Threads, serial      | maybe  | carlosal1015                          | `here <https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=kokkos>`_                                  |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Mac Port | ``port install kokkos-devel``         | openMP, serial       | no     | MarcusCalhoun-Lopez                   | `here <https://github.com/macports/macports-ports/blob/master/devel/kokkos/Portfile>`_                   |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Spack    | ``spack install kokkos``              | whatever enabled     | yes    | cedricchevalier19, nmm0, lucbv        | `here <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/kokkos/package.py>`_ |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+

@junghans (note I didn't correct anything on the table just converted it to rst)

Copy link

@carterbox carterbox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When switching from source to rendered view, the table doesn't appear on Github.

https://github.com/kokkos/kokkos-core-wiki/blob/c7c3ecf915aa9e5e42698afdc71423ea58e1be9f/docs/source/get-started/package-managers.rst

I assume that's because you're using some flavor of RST that GitHub doesn't know.

Otherwise, the content seems fine.

@JBludau
Copy link
Contributor

JBludau commented Apr 21, 2025

what is our plan with respect to keeping this table updated? Do we want the respective maintainers to do it (and to they agree to doing this) or do we have someone who is curating this?

Comment on lines 9 to 27
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Distro | Command to install | Backend | Vetted | Maintainer | Build Source |
+==========+=======================================+======================+========+=======================================+==========================================================================================================+
| Fedora | ``dnf install kokkos-devel`` | openMP, rocm, serial | a bit | rbberger | `here <https://src.fedoraproject.org/rpms/kokkos/blob/rawhide/f/kokkos.spec>`_ |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Debian | ``apt-get install libkokkos-dev`` | openMP | a bit | alexmyczko | `here <https://salsa.debian.org/debian/kokkos/-/blob/master/debian/rules>`_ |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Conda | ``conda install conda-forge::kokkos`` | openMP (linux), Threads (windows), serial, CUDA | nope | carterbox | `here <https://github.com/conda-forge/kokkos-feedstock/blob/main/recipe/build.sh>`_ |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| openSUSE | ``zypper install kokkos-devel`` | openMP, serial | nope | `[email protected] <mailto:[email protected]>`_ | `here <https://build.opensuse.org/projects/science/packages/kokkos/files/kokkos.spec?expand=1>`_ |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Gentoo | ``emerge kokkos`` | whatever enabled | a bit | tamiko | `here <https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-cpp/kokkos/kokkos-4.3.1.ebuild>`_ |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Arch | ``pacman -S kokkos`` | Threads, serial | maybe | carlosal1015 | `here <https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=kokkos>`_ |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Mac Port | ``port install kokkos-devel`` | openMP, serial | no | MarcusCalhoun-Lopez | `here <https://github.com/macports/macports-ports/blob/master/devel/kokkos/Portfile>`_ |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Spack | ``spack install kokkos`` | whatever enabled | yes | cedricchevalier19, nmm0, lucbv | `here <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/kokkos/package.py>`_ |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure that we want to put this kind of table in the primary documentation:

  • Some information is targeted to end-users (what packages exist and if they are "vetted" or not)
  • Other information related to collaboration and contributions: maintainers, source link.

For the user, I would rather have a sentence explaining that Kokkos might be available in distribution packages. Still, we do not know their usability deeply for now, so we advise building from source.

However, having a page for packagers makes sense, but I am not sure that we want to duplicate a table that is mostly dynamically available on repology. Here, the "vetted" status might be more apparent. Currently, it is not obvious what "a bit" vs "maybe" means.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I disagree with the latter point, repology only provides the version packaged and the maintainer, the former we didn't include in our table, the latter is mostly wrong (e.g. [email protected]).

@nischild
Copy link

The Debian entry in the table might be misleading. The listed Kokkos package is not in a stable release. It is only in the unstable package repository. (https://tracker.debian.org/pkg/kokkos)
A Kokkos package is available through Trilinos in the stable Debian release. (https://tracker.debian.org/pkg/trilinos)

@junghans
Copy link
Author

Hmm, maybe we should just have a list of packages, so folks can look up how they were built and then say "use at your own risk".

@junghans
Copy link
Author

Adding @JBlaschke re: conda package.

+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| openSUSE | ``zypper install kokkos-devel`` | OpenMP, serial | nope | `[email protected] <mailto:[email protected]>`_ | `here <https://build.opensuse.org/projects/science/packages/kokkos/files/kokkos.spec?expand=1>`_ |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Gentoo | ``emerge kokkos`` | whatever enabled | a bit | tamiko | `here <https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-cpp/kokkos/kokkos-4.3.1.ebuild>`_ |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we sure about the link ? I get a Path not found

+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Mac Port | ``port install kokkos-devel`` | OpenMP, serial | no | MarcusCalhoun-Lopez | `here <https://github.com/macports/macports-ports/blob/master/devel/kokkos/Portfile>`_ |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Spack | ``spack install kokkos`` | whatever enabled | yes | cedricchevalier19, nmm0, lucbv | `here <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/kokkos/package.py>`_ |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Spack | ``spack install kokkos`` | whatever enabled | yes | cedricchevalier19, nmm0, lucbv | `here <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/kokkos/package.py>`_ |
| Spack | ``spack install kokkos`` | whatever enabled | yes | cedricchevalier19, nmm0, lucbv | `here <https://github.com/spack/spack-packages/blob/develop/repos/spack_repo/builtin/packages/kokkos/package.py>`_ |


System package managers
Package managers
~~~~~~~~~~~~~~~~~~~~~~~
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add a comment below here:

.. warning::

   Only the Spack package below is maintained by Kokkos developers and is our only official supported package. Others may be used, but please contact the listed maintainers for any issues.

Just to make it extra clear that we can't commit to supporting all the OS packages?

Use your favorite package manager to install Kokkos.

System package managers
Package managers
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we dropping the distinction between system package managers and other package managers such as Spack and whatnot?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am fine with the proposed version, we list all package managers and then do a focus on one of them, Spack.

You prefer to go back to only system package managers ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do

+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| Conda | ``conda install conda-forge::kokkos`` | OpenMP (linux), Threads (windows), serial, CUDA | nope | carterbox | `here <https://github.com/conda-forge/kokkos-feedstock/blob/main/recipe/build.sh>`_ |
+----------+---------------------------------------+----------------------+--------+---------------------------------------+----------------------------------------------------------------------------------------------------------+
| openSUSE | ``zypper install kokkos-devel`` | OpenMP, serial | nope | `[email protected] <mailto:[email protected]>`_ | `here <https://build.opensuse.org/projects/science/packages/kokkos/files/kokkos.spec?expand=1>`_ |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So we discussed this and think that we shouldn't put the maintainer info; for github usernames, it's not very clear how to contact them anyway; and for the one person who has an email it might be more annoying than helpful. We should instead have a link to the support for that package manager. E.g. for OpenSUSE there is https://bugzilla.opensuse.org/ and I think each distro has their own. That way if the maintainer changes we aren't directing people to the wrong person for support

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

Successfully merging this pull request may close these issues.