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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions