Skip to content

dynamic block sizes with env. variables - #960

Open
stepannassyr wants to merge 1 commit into
flame:masterfrom
stepannassyr:dynamic-blocksizes
Open

stepannassyr wants to merge 1 commit into
flame:masterfrom
stepannassyr:dynamic-blocksizes

Conversation

@stepannassyr

Copy link
Copy Markdown
  • Introduces new environment variables
    • BLIS_KC_{S,D,C,Z}
    • BLIS_KC_MAX_{S,D,C,Z}
    • BLIS_MR_IN_MC_{S,D,C,Z}
    • BLIS_MR_IN_MC_MAX_{S,D,C,Z}
    • BLIS_NR_IN_NC_{S,D,C,Z}
    • BLIS_NR_IN_NC_MAX_{S,D,C,Z}
  • kc is overridden as an absolute value
  • mc and nc are overridden as multiples of mr and nr respectively
  • The environment variables override block sizes set in the cntx init
  • If the env. vars are not set, the blocksizes from the config are used
  • Override happens in bli_gks_init() before context caching

I've been using something like this for a while to tune BLIS, usually I've been putting the overrides in the cntx init of a configuration. This version makes it independent of the config by putting the override in bli_gks_init(). As an example for how it can be used - I have this tuner: https://github.com/linedot/blistune that uses these env. vars.

- Introduces new environment variables
  - BLIS_KC_{S,D,C,Z}
  - BLIS_KC_MAX_{S,D,C,Z}
  - BLIS_MR_IN_MC_{S,D,C,Z}
  - BLIS_MR_IN_MC_MAX_{S,D,C,Z}
  - BLIS_NR_IN_NC_{S,D,C,Z}
  - BLIS_NR_IN_NC_MAX_{S,D,C,Z}
- The environment variables override block sizes set in the cntx init
- If the env. vars are not set, the blocksizes from the config are used
- Override happens in bli_gks_init() before context caching
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant