array alignment in ublas matrices
Hi, I am using the ublas matrices with mkl. The documentation of mkl suggests/requires that allocated arrays are aligned on 16 byte boundaries. The matrix structures within ublas delegate the memory management in the std allocator which at the very end reduces to new. I know that one way to address this is write my own allocator for the unbounded_array that lies on the basis of the storage structures. However, this is an error-prone job and it is suggested that this is avoided. Any other solutions? – hopefully more straightforward ? Thank you in advance for your help, Petros ps: using visual studio 2010 on winn7/visa 64 bit and mkl 10.3.
On 13/09/2011 19:12, petros wrote:
Hi, I am using the ublas matrices with mkl. The documentation of mkl suggests/requires that allocated arrays are aligned on 16 byte boundaries. The matrix structures within ublas delegate the memory management in the std allocator which at the very end reduces to new. I know that one way to address this is write my own allocator for the unbounded_array that lies on the basis of the storage structures. However, this is an error-prone job and it is suggested that this is avoided. Any other solutions? – hopefully more straightforward ? Thank you in advance for your help, Petros ps: using visual studio 2010 on winn7/visa 64 bit and mkl 10.3.
Boost.SIMD is an upcoming library that provide such facility as part of its API. Code can be salvaged from here : https://github.com/MetaScale/nt2/tree/master/modules/boost/simd/sdk/include/... Feel free to ask for details about this.
Thank you for your response. Will look into it. Are there any examples? Best Regards, Petros -----Original Message----- From: Joel Falcou Sent: Tuesday, September 13, 2011 1:41 PM To: boost-users@lists.boost.org Subject: Re: [Boost-users] array alignment in ublas matrices On 13/09/2011 19:12, petros wrote:
Hi, I am using the ublas matrices with mkl. The documentation of mkl suggests/requires that allocated arrays are aligned on 16 byte boundaries. The matrix structures within ublas delegate the memory management in the std allocator which at the very end reduces to new. I know that one way to address this is write my own allocator for the unbounded_array that lies on the basis of the storage structures. However, this is an error-prone job and it is suggested that this is avoided. Any other solutions? – hopefully more straightforward ? Thank you in advance for your help, Petros ps: using visual studio 2010 on winn7/visa 64 bit and mkl 10.3.
Boost.SIMD is an upcoming library that provide such facility as part of its API. Code can be salvaged from here : https://github.com/MetaScale/nt2/tree/master/modules/boost/simd/sdk/include/... Feel free to ask for details about this. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (2)
-
Joel Falcou
-
petros