Skip to content

Shrink the size of OpenBLAS DLLs on Windows #175

@carlkl

Description

@carlkl

Shrinking the size of OpenBLAS binary size can be done with several ways:

  1. Use the same OpenBLAS DLL for numpy as well for scipy
  2. use of DYNAMIC_LIST to reduce the number of targets
  3. strip DLL

(1) has the greatest impact on the overall size of a python installation as well as on the memory consumption of a python process. There is no good reason to keep two dedicated OpenBLAS binaries in a process.
There are two ways to accomplish this: a) scipy could use the OpenBLAS DLL from numpy or b) numpy as well as scipy both depend on a dedicated OpenBLAS wheel with a OpenBLAS.dll included. (b) has the advantage to allow for easy monkey-patching the OpenBLAS DLL, i.e. with less more threads enabled if needed.

(2) in a similar vein as #166

(3) included in #85 with the help of -Wl,-gc-sections -Wl,-s in the linking stage.

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