templeblock / blasfeo Goto Github PK
View Code? Open in Web Editor NEWThis project forked from giaf/blasfeo
Basic linear algebra subroutines for embedded optimization
License: Other
This project forked from giaf/blasfeo
Basic linear algebra subroutines for embedded optimization
License: Other
BLASFEO - BLAS For Embedded Optimization BLASFEO provides a set of linear algebra routines optimized for use in embedded optimization. It is for example employed in the Model Predictive Control software package HPMPC. BLASFEO provides three implementations of each linear algebra routine (LA): - HIGH_PERFORMANCE: a high-performance implementation hand-optimized for different computer architectures. - REFERENCE: a lightly-optimized version, coded entirely in C withou assumptions about the computer architecture. - BLAS_WRAPPER: a wrapper to BLAS and LAPACK routines. The currently supported compter architectures (TARGET) are: - X64_INTEL_HASWELL: Intel Haswell architecture or newer, AVX2 and FMA ISA, 64-bit OS. - X64_INTEL_SANDY_BRIDGE: Intel Sandy-Bridge architecture or newer, AVX ISA, 64-bit OS. - X64_INTEL_CORE: Intel Core architecture or newer, SSE3 ISA, 64-bit OS. - X64_AMD_BULLDOZER: AMD Bulldozer architecture, AVX and FMA ISAs, 64-bit OS. - X86_AMD_JAGUAR: AMD Jaguar architecture, AVX ISA, 32-bit OS. - X86_AMD_BARCELONA: AMD Barcelona architecture, SSE3 ISA, 32-bit OS. - ARMV8A_ARM_CORTEX_A57: ARMv8A architecture, VFPv4 and NEONv2 ISAs, 64-bit OS. - ARMV8A_ARM_CORTEX_A53: ARMv8A architecture, VFPv4 and NEONv2 ISAs, 64-bit OS. - ARMV7A_ARM_CORTEX_A15: ARMv7A architecture, VFPv3 and NEON ISAs, 32-bit OS. - GENERIC: generic target, coded in C, giving better performance if the architecture provides more than 16 scalar FP registers (e.g. many RISC such as ARM). The optimized linear algebra kernels are currently provided for OS_LINUX (x86_64 64-bit, ARMv8A 64-bit, ARMv7A 32-bit), OS_WINDOWS (x86_64 64-bit) and OS_MAC (x86_64 64-bit). BLASFEO employes structures to describe matrices (blasfeo_dmat) and vectors (blasfeo_dvec), defined in include/blasfeo_common.h. The actual implementation of blasfeo_dmat and blasfeo_dvec depends on the LA and TARGET choice. More information about BLASFEO can be found in the ArXiv paper at the URL https://arxiv.org/abs/1704.02457 or in the slides at the URL www.cs.utexas.edu/users/flame/BLISRetreat2017/slides/Gianluca_BLIS_Retreat_2017.pdf or in the video at the URL https://utexas.app.box.com/s/yt2d693v8xc37yyjklnf4a4y1ldvyzon -------------------------------------------------- Notes: - 06-01-2018: BLASFEO employs now a new naming convention. The bash script change_name.sh can be used to automatically change the source code of any software using BLASFEO to adapt it to the new naming convention.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.