Skip to content

Precision flag not passed from run_card properly (overwritten by cudacpp_config) #1029

@zeniheisser

Description

@zeniheisser

The parameter 'floating_type' in the run_card is not passed along to the cudacpp compilation.

In launch_plugin.py, lines 35-37, the parameter is explicitly read from the run_card and is passed along using the common_run_interface.CommonRunCmd.update_make_opts_full function to Source/make_opts

However, in cudacpp.mk, the file cudacpp_config.mk is included before make_opts. In cudacpp_config.mk, lines 18-23,

 ifeq ($(FPTYPE),)
    # OLD DEFAULT UP TO v1.00.00 INCLUDED (inconsistent with default floating_type='m' in run_card.dat)
    ###override FPTYPE = d
    # NEW DEFAULT (#995) AS OF v1.00.01 (now consistent with default floating_type='m' in run_card.dat)
    override FPTYPE = m
 endif

FPTYPE is set to m with the override directive, which has higher priority than setting the variable anywhere else. In make_opts, FPTYPE is set without the override flag, so the default is used, regardless of any definition in make_opts.

Could be solved by either changing include order or adding an override directive specifically to the FPTYPE flag in make_opts.

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