geerlingguy / top500-benchmark

Automated Top500 benchmark for clusters or single nodes.
MIT License
158 stars 17 forks source link

Benchmark Sipeed Lichee Pi 3A (Spacemit K1) #42

Closed geerlingguy closed 2 weeks ago

geerlingguy commented 2 weeks ago

See: https://github.com/geerlingguy/sbc-reviews/issues/50

geerlingguy commented 2 weeks ago

Running it from my Mac instead of local, because installing Ansible on RISC-V is annoying (but not impossible), and also running with a newer version of mpich because it seems the 4.1.2 version won't compile for some reason...

geerlingguy commented 2 weeks ago

It breaks specifically here:

$ ./configure --with-device=ch3:sock FFLAGS=-fallow-argument-mismatch
...
checking whether routines compiled with -O2 can be linked with ones compiled without -O2... yes
checking for shared library (esp. rpath) characteristics of CC... done (results in src/env/cc_shlib.conf)
configure: error: No Fortran compiler found. If you don't need to
        build any Fortran programs, you can disable Fortran support using
        --disable-fortran. If you do want to build Fortran
        programs, you need to install a Fortran compiler such as gfortran
        or ifort before you can proceed.
root@k1:/opt/top500/tmp/mpich-4.2.2# 
geerlingguy commented 2 weeks ago

Possibly related: https://github.com/geerlingguy/top500-benchmark/issues/2

I was attempting to run this on WSL, and I managed to solve the issue by installing gfortran-10 with apt, then changing line 56 in main.yml to - ./configure --with-device=ch3:sock FFLAGS=-fallow-argument-mismatch FC=gfortran-10. Hopefully this helps someone else out there!

geerlingguy commented 2 weeks ago

I ran sudo apt install -y gfortran, which installed gofrtran-13, and then tried again. Also had to manually install git, then it ran all the way through:

4.947 Gflops at 9.1W, for 0.54 Gflops/W:

================================================================================
HPLinpack 2.3  --  High-Performance Linpack benchmark  --   December 2, 2018
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :   23314
NB     :     256
PMAP   : Row-major process mapping
P      :       1
Q      :       8
PFACT  :   Right
NBMIN  :       4
NDIV   :       2
RFACT  :   Crout
BCAST  :  1ringM
DEPTH  :       1
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4       23314   256     1     8            1707.84             4.9471e+00
HPL_pdgesv() start time Mon Sep  9 19:46:10 2024

HPL_pdgesv() end time   Mon Sep  9 20:14:37 2024

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   2.71201598e-03 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================
Screenshot 2024-09-09 at 8 01 19 PM