numeric-linalg

Educational material on the SciPy implementation of numerical linear algebra algorithms

NameSizeMode
..
lapack/.github/workflows/makefile.yml 2854B -rw-r--r--
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
name: Makefile

on:
  push:
    branches:
    - master
    - try-github-actions
    paths:
    - .github/workflows/makefile.yml
    - '**Makefile'
    - 'BLAS/**'
    - 'CBLAS/**'
    - 'INSTALL/**'
    - 'LAPACKE/**'
    - 'SRC/**'
    - 'TESTING/**'
    - '!**README'
    - '!**CMakeLists.txt'
    - '!**md'
  pull_request:
    paths:
    - .github/workflows/makefile.yml
    - '**Makefile'
    - 'BLAS/**'
    - 'CBLAS/**'
    - 'INSTALL/**'
    - 'LAPACKE/**'
    - 'SRC/**'
    - 'TESTING/**'
    - '!**README'
    - '!**CMakeLists.txt'
    - '!**md'

permissions:
  contents: read

env:
  CC: "gcc"
  FC: "gfortran"
  CFLAGS: "-O3 -flto -Wall -pedantic-errors"
  FFLAGS: "-O2 -flto -Wall -Werror=conversion -pedantic -fimplicit-none -frecursive -fopenmp -fcheck=all"
  FFLAGS_NOOPT: "-O0 -flto -Wall -fimplicit-none -frecursive -fopenmp -fcheck=all"
  LDFLAGS: ""
  AR: "ar"
  ARFLAGS: "cr"
  RANLIB: "ranlib"

defaults:
  run:
    shell: bash

jobs:

  install-ubuntu:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout LAPACK
      uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
    - name: Set configurations
      run: |
        echo "SHELL = /bin/sh" >> make.inc
        echo "FFLAGS_DRV = ${{env.FFLAGS}}" >> make.inc
        echo "TIMER = INT_ETIME" >> make.inc
        echo "BLASLIB = ${{github.workspace}}/librefblas.a" >> make.inc
        echo "CBLASLIB = ${{github.workspace}}/libcblas.a" >> make.inc
        echo "LAPACKLIB = ${{github.workspace}}/liblapack.a" >> make.inc
        echo "TMGLIB = ${{github.workspace}}/libtmglib.a" >> make.inc
        echo "LAPACKELIB = ${{github.workspace}}/liblapacke.a" >> make.inc
        echo "DOCSDIR = ${{github.workspace}}/DOCS" >> make.inc
    - name: Install
      run: |
        make -s -j2 all
        make -j2 lapack_install

  install-macos:
    runs-on: macos-latest
    steps:
    - name: Checkout LAPACK
      uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
    - name: Set configurations
      run: |
        echo "SHELL = /bin/sh" >> make.inc
        echo "FFLAGS_DRV = ${{env.FFLAGS}}" >> make.inc
        echo "TIMER = INT_ETIME" >> make.inc
        echo "BLASLIB = ${{github.workspace}}/librefblas.a" >> make.inc
        echo "CBLASLIB = ${{github.workspace}}/libcblas.a" >> make.inc
        echo "LAPACKLIB = ${{github.workspace}}/liblapack.a" >> make.inc
        echo "TMGLIB = ${{github.workspace}}/libtmglib.a" >> make.inc
        echo "LAPACKELIB = ${{github.workspace}}/liblapacke.a" >> make.inc
        echo "DOCSDIR = ${{github.workspace}}/DOCS" >> make.inc
    - name: Alias for GCC compilers
      run: |
        sudo ln -s $(which gcc-14) /usr/local/bin/gcc
        sudo ln -s $(which gfortran-14) /usr/local/bin/gfortran
    - name: Install
      run: |
        make -s -j2 all
        make -j2 lapack_install