#4665·OpenBLAS

内存分配

作者: XiWeiGu创建于 2024年4月28日更新于 2026年3月16日

PR #4577 > 我们引入了与 OpenMP 类似的 adjust_thread_buffers() 函数,用于初始化全局线程缓冲区,而不是在 blas_thread_server 中初始化的现有本地缓冲区。在 blas_thread_init 中,使用 adjust_thread_buffers 接口为 blas_cpu_number 个线程分配内存。但是,在调用像 gemm 这样的接口时,内存分配仍然在主线程中进行:

buffer = (XFLOAT *)blas_memory_alloc(0);

这将导致额外分配一个缓冲区,与修改前的代码逻辑不一致。

内容来源: OpenMathLib/OpenBLAS