Skip to content

-march may be wrong when using pulpissimo configuration #18

@hongzhi2015

Description

@hongzhi2015

When running tests from https://github.com/pulp-platform/regression_tests/

At least, I found 3 cases freeze forever:

  • sequential_bare_tests/seidel
  • sequential_bare_tests/fdtd-1d
  • sequential_bare_tests/jacobi-1d-imper

And I use sequential_bare_tests/seidel to debug, the simulation hangs just before floating-point operations:

        a[i][j] = (a[i-1][j-1] + a[i-1][j] + a[i-1][j+1]
            + a[i][j-1] + a[i][j] + a[i][j+1]
            + a[i+1][j-1] + a[i+1][j] + a[i+1][j+1])/9.0f;

Finally, I edited rules/pulpos/targets/pulpissimo.mk, use -march=rv32imfcxpulpv2, and all the 3 cases run to the end.

Original

ifdef USE_IBEX
PULP_LDFLAGS +=
PULP_CFLAGS += -D__ibex__ -U__riscv__ -UARCHI_CORE_HAS_PULPV2 -DRV_ISA_RV32
PULP_ARCH_CFLAGS ?= -march=rv32imc
PULP_ARCH_LDFLAGS ?= -march=rv32imc
PULP_ARCH_OBJDFLAGS ?= -Mmarch=rv32imc
else
PULP_LDFLAGS      += 
PULP_CFLAGS       +=  -D__riscv__
# PULP_ARCH_CFLAGS ?=  -march=rv32imcxgap9
# PULP_ARCH_LDFLAGS ?=  -march=rv32imcxgap9
# PULP_ARCH_OBJDFLAGS ?= -Mmarch=rv32imcxgap9
PULP_ARCH_CFLAGS ?=  -march=rv32imfcxpulpv2
PULP_ARCH_LDFLAGS ?=  -march=rv32imfcxpulpv2
PULP_ARCH_OBJDFLAGS ?= -Mmarch=rv32imfcxpulpv2
endif

I tried to use -march=rv32imfcxvpulpv3 as pulp-platform/pulpissimo#183 , and encounter the same error:

cc1: error: -march=rv32imfcxvpulpv3: unsupported ISA substring XVPULPV3

I checked pulp-sdk build by cd pulpissimo; make build-pulp-sdk, -march=rv32imfcxpulpv2 is used for pulpissimo, -march=rv32imcxgap9 is used for vega.

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