Skip to content

Question about REAL_GEMM_R macro in potrf_L_single.c #5981

Description

@HecaiYuan

Environment

  • Arch: loongarch64
  • CPU Model: Loongson‑3C6000/D
  • Total CPU(s): 128 (2 sockets × 32 cores × 2‑threads‑per‑core), 4 NUMA nodes
  • CPU flags: cpucfg lam ual fpu lsx lasx crc32 complex crypto ptw lvz lbt_x86 lbt_arm lbt_mips
  • Build command:
make TARGET=LA464 DYNAMIC_ARCH=1 USE_THREAD=1 USE_OPENMP=1 DEBUG=1 \
     FC=gfortran CC=gcc \
     'COMMON_OPT=-O2 -g -fPIC -fopenmp -pthread' \
     'FCOMMON_OPT=-O2 -g -fPIC -fopenmp -pthread -frecursive'

make TARGET=LA464 DYNAMIC_ARCH=1 USE_THREAD=1 USE_OPENMP=1 DEBUG=1 \
FC=gfortran CC=gcc \
COMMON_OPT="-O2 -g -fPIC -fopenmp -pthread" \
FCOMMON_OPT="-O2 -g -fPIC -fopenmp -pthread -frecursive" \
lapack-test

1.
When running `lapack‑test`, double‑precision LAPACK test cases crash with segmentation fault inside LoongArch64 dgemm assembly kernel:

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0  0x7ffff24ed3b3 in ???
#1  0x7ffff24ec0ff in ???
#2  0x7ffffcfc096f in ???
#3  0x1201d8b20 in ???
	at ../kernel/loongarch64/dgemm_kernel_16x6.S:423
Testing DOUBLE PRECISION Linear‑Equation‑routines‑LIN/xlintstd < dtest.in > dtest.out ---- TESTING ... FAILED

2.
Additionally I observed **infinite loop in cpotrf** under this build configuration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions