Skip to content

Shrink the size of OpenBLAS DLLs on Windows #175

Closed
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions