mirror of
https://github.com/amd/blis.git
synced 2026-04-19 15:18:52 +00:00
Details: - Split existing typed APIs into two subsets of interfaces: one for use with expert parameters, such as the cntx_t*, and one without. This separation was already in place for the object APIs, and after this commit the typed and object APIs will have similar expert and non- expert APIs. The expert functions will be suffixed with "_ex" just as is the case for expert interfaces in the object APIs. - Updated internal invocations of typed APIs (functions such as bli_?setm() and bli_?scalv()) throughout BLIS to reflect use of the new explictly expert APIs. - Updated example code in examples/tapi to reflect the existence (and usage) of non-expert APIs. - Bumped the major soname version number in 'so_version'. While code compiled against a previous version/commit will likely still work (since the old typed function symbol names still exist in the new API, just with one less function argument) the semantics of the function have changed if the cntx_t* parameter the application passes in is non-NULL. For example, calling bli_daxpyv() with a non-NULL context does not behave the same way now as it did before; before, the context would be used in the computation, and now the context would be ignored since the interace for that function no longer expects a context argument.
BLIS typed API examples ----------------------- This directory contains several files, each containing various pieces of example code that demonstrate core functionality of the typed API in BLIS. These example files should be thought of collectively like a tutorial, and therefore it is recommended to start from the beginning (the file that starts in '00'). You can build all of the examples by simply running 'make' from this directory. (You can also run 'make clean'.) The makefile assumes that you've already configured and built (but not necessarily installed) BLIS two directories up, in "../..". Once the executable files have been built, we recommend reading the code in one terminal window alongside the executable output in another. This will help you see the effects of each section of code. This tutorial is not exhaustive or complete; many typed API functions were omitted (mostly for brevity's sake) and thus more examples could be written. If you've found typed functionality in BLIS and are unsure how to use it, or if you are unsure of what additional functionality is present in BLIS, please feel free to join and then start a discussion on the blis-devel mailing list [1]. Thanks for your interest in BLIS! [1] https://groups.google.com/d/forum/blis-devel