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

Add support of GFortran in MKL package #5258

Open
wants to merge 12 commits into
base: dev
Choose a base branch
from

Commits on Sep 17, 2024

  1. Add support for Fortran/GFortran with MKL

    This patch introduces 3 modifications to the package MKL:
    
    - added support of Fortran and GFortran to compile with the MKL
      libraries
    - changed download paths following some changes made on the Intel
      channel of conda (see
      https://community.intel.com/t5/Intel-Integrated-Performance/Problems-installing-with-conda-HTTP-403-FORBIDDEN/m-p/1631577
      for details).
    - added support of latest version of MKL as of September 2024: 2024.2.1
    
    Note that the support of Intel processors on OS X seems to have been
    dropped by Intel.  No path could be found.
    
    Content of the repository can be parsed from the JSON files in each
    architecture-dependent path:
    https://software.repos.intel.com/python/conda/<arch>/repodata.json
    
    with <arch> being one of the following:
    
    - "linux-32"
    - "linux-64"
    - "win-32"
    - "win-64"
    
    Minimum example with GFortran:
    
    Fortran code
    ```
    program test_mkl
    
        use iso_fortran_env, only: real64
    
        integer, parameter :: N = 10
        integer :: info
        integer, dimension(N) :: iwork
        real(real64), dimension(N,N) :: A, B, C
    
        call random_number(A)
        call random_number(B)
    
        call dgemm('T','N',N,N,N,1.0_real64,A,N,B,N,0.0_real64,C,N)
    
        call dgetrf(N,N,C,N,iwork,info)
    
    end program test_mkl
    ```
    
    xmake.lua
    ```
    add_rules("mode.debug", "mode.release")
    
    add_repositories("local-repo xmake-repo")
    add_requires("mkl", { configs = { threading = "gomp" } })
    
    target("test_mkl")
        set_kind("binary")
        set_policy("check.auto_ignore_flags", false)
        add_packages("mkl")
        add_files("test_mkl.f90")
        add_tests("default")
    ```
    Julien Bloino committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    6362643 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c76aa5c View commit details
    Browse the repository at this point in the history
  3. Fixed deprecated packages in new repository.

    Julien Bloino committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    532d08d View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2024

  1. This patch restores support of Intel Mac versions

    The repository was also available in the new repository.
    Versions listed in the package and not available in the repository have
    been removed or replaced with more recent ones from the same year.
    Julien Bloino committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    5c6d269 View commit details
    Browse the repository at this point in the history
  2. Fixed URLs to some packages.

    Fixed URLs to some Windows 32 packages and Linux
    (32 and 64 bits) packages.
    Julien Bloino committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    adb9d01 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. Check on linker instead of compiler to set flags

    The tests to set the linker flags are now based on "ld/fcld" instead of
    the compilers "cc/fc" to avoid problems with toolchains combining
    different tools.
    Julien Bloino committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    154419a View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2024

  1. Fixed code layout to match conventions

    * Use of "" instead of '' for strings.
    * Removal of unnecessary parentheses.
    * Use of "local" for local variables.
    * Removed unnecessary comments.
    Julien Bloino committed Sep 20, 2024
    Configuration menu
    Copy the full SHA
    1b75df6 View commit details
    Browse the repository at this point in the history
  2. Remove misleading reference to runtime config.

    Previous patches incorrectly referred to the runtime configuration,
    which is supposed to be built in and not set in package.
    Julien Bloino committed Sep 20, 2024
    Configuration menu
    Copy the full SHA
    e1846a6 View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2024

  1. Switch to fcldflags/fcshflags for GFortran

    The variables for the linker with GFortran are now set to fcldflags and
    fcshflags following the latest changes in xmake.
    
    Some redundant or awkward constructs were also fixed.
    Julien Bloino committed Sep 21, 2024
    Configuration menu
    Copy the full SHA
    e55dc93 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2024

  1. Added Fortran test for the MKL package

    Added Fortran test if gfortran available.
    Julien Bloino committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    039c45b View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2024

  1. Added check that fcsnippets only run if fcld set

    The test on the presence of gfortran may not guarantee the linker is
    properly set.  The new test check that fcld is also set, for now to
    gfortran since the test on the Fortran compiler only considers this
    compiler.
    
    Note: this way, fcsnippets are only run if --toolchain=gfortran is set.
    Julien Bloino committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    3c77ada View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2024

  1. Update xmake.lua

    waruqi committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    02faa26 View commit details
    Browse the repository at this point in the history