Cleanups to ref99/README.md, test/3m4m/Makefile.

Details:
- Minor edits to sandbox/ref99/README.md.
- Removed cpp guards in sandbox/ref99/thread/blx_gemm_thread.h to be
  consistent with other headers in sandbox/ref99.
- Additional targets and related cleanups in test/3m4m/Makefile.
This commit is contained in:
Field G. Van Zee
2018-05-31 12:34:01 -05:00
parent 9588625c43
commit 8749fa0b48
3 changed files with 44 additions and 30 deletions

View File

@@ -112,21 +112,23 @@ working with the existing BLIS infrastructure.
For example, with a BLIS sandbox you **can** do the following kinds of things: For example, with a BLIS sandbox you **can** do the following kinds of things:
- use a different gemm algorithmic partitioning path than the default Goto-like - use a different gemm algorithmic partitioning path than the default Goto-like
algorithm; algorithm;
- experiment with different implementations of `packm` (not just `packm` - experiment with different implementations of `packm` (not just `packm`
kernels, which can already be customized within each sub-configuration); kernels, which can already be customized within each sub-configuration);
- try inlining your functions manually; - try inlining your functions manually;
- pivot away from using `obj_t` objects at higher algorithmic level (such as - pivot away from using `obj_t` objects at higher algorithmic level (such as
immediately after calling `bli_gemmnat()`) to try to avoid some overhead; immediately after calling `bli_gemmnat()`) to try to avoid some overhead;
- create experimental implementations of new BLAS-like operations (provided - create experimental implementations of new BLAS-like operations (provided
that you also provide an implementation of `blis_gemmnat()`). that you also provide an implementation of `blis_gemmnat()`).
You **cannot**, however, use a sandbox to do the following kinds of things: You **cannot**, however, use a sandbox to do the following kinds of things:
- define new datatypes (half-precision, quad-precision, short integer, etc.) - define new datatypes (half-precision, quad-precision, short integer, etc.)
and expect the rest of BLIS to "know" how to handle them; and expect the rest of BLIS to "know" how to handle them;
- use a sandbox to replace the default implementation of a different level-3 - use a sandbox to replace the default implementation of a different level-3
operation, such as Hermitian rank-k update; operation, such as Hermitian rank-k update;
- change the existing BLIS APIs. - change the existing BLIS APIs;
- remove support for one or more BLIS datatypes (to cut down on library size,
for example).
Another important limitation is the fact that the build system currently uses Another important limitation is the fact that the build system currently uses
"framework `CFLAGS`" when compiling the sandbox source files. These are the same "framework `CFLAGS`" when compiling the sandbox source files. These are the same

View File

@@ -32,9 +32,6 @@
*/ */
#ifndef BLIS_GEMM_THREAD_H
#define BLIS_GEMM_THREAD_H
// gemm internal function type // gemm internal function type
typedef void (*gemmint_t) typedef void (*gemmint_t)
( (
@@ -57,4 +54,3 @@ void blx_gemm_thread
cntl_t* cntl cntl_t* cntl
); );
#endif

View File

@@ -214,22 +214,45 @@ PDEF_MT := -DP_BEGIN=200 \
# --- Targets/rules ------------------------------------------------------------ # --- Targets/rules ------------------------------------------------------------
# #
all: all-st all-mt
blis: blis-st blis-mt
blis-nat: blis-nat-st blis-nat-mt
openblas: openblas-st openblas-mt
mkl: mkl-st mkl-mt
all-st: blis-st openblas-st mkl-st all-st: blis-st openblas-st mkl-st
all-mt: blis-mt openblas-mt mkl-mt all-mt: blis-mt openblas-mt mkl-mt
blis-st: blis-gemm-st blis-st: blis-gemm-st
blis-mt: blis-gemm-mt blis-mt: blis-gemm-mt
blis-nat-st: blis-gemm-nat-st
blis-nat-mt: blis-gemm-nat-mt
openblas-st: openblas-gemm-st openblas-st: openblas-gemm-st
openblas-mt: openblas-gemm-mt openblas-mt: openblas-gemm-mt
mkl-st: mkl-gemm-st mkl-st: mkl-gemm-st
mkl-mt: mkl-gemm-mt mkl-mt: mkl-gemm-mt
blis-gemm-st: \ blis-gemm-st: blis-gemm-nat-st \
blis-gemm-ind-st
blis-gemm-mt: blis-gemm-nat-mt \
blis-gemm-ind-mt
blis-gemm-nat-st: \
test_sgemm_asm_blis_st.x \ test_sgemm_asm_blis_st.x \
test_dgemm_asm_blis_st.x \ test_dgemm_asm_blis_st.x \
\ test_cgemm_asm_blis_st.x \
test_zgemm_asm_blis_st.x
blis-gemm-nat-mt: \
test_sgemm_asm_blis_mt.x \
test_dgemm_asm_blis_mt.x \
test_cgemm_asm_blis_mt.x \
test_zgemm_asm_blis_mt.x
blis-gemm-ind-st: \
test_cgemm_3mhw_blis_st.x \ test_cgemm_3mhw_blis_st.x \
test_zgemm_3mhw_blis_st.x \ test_zgemm_3mhw_blis_st.x \
test_cgemm_3m1_blis_st.x \ test_cgemm_3m1_blis_st.x \
@@ -241,14 +264,9 @@ blis-gemm-st: \
test_cgemm_4m1a_blis_st.x \ test_cgemm_4m1a_blis_st.x \
test_zgemm_4m1a_blis_st.x \ test_zgemm_4m1a_blis_st.x \
test_cgemm_1m_blis_st.x \ test_cgemm_1m_blis_st.x \
test_zgemm_1m_blis_st.x \ test_zgemm_1m_blis_st.x
test_cgemm_asm_blis_st.x \
test_zgemm_asm_blis_st.x
blis-gemm-mt: \ blis-gemm-ind-mt: \
test_sgemm_asm_blis_mt.x \
test_dgemm_asm_blis_mt.x \
\
test_cgemm_3mhw_blis_mt.x \ test_cgemm_3mhw_blis_mt.x \
test_zgemm_3mhw_blis_mt.x \ test_zgemm_3mhw_blis_mt.x \
test_cgemm_3m1_blis_mt.x \ test_cgemm_3m1_blis_mt.x \
@@ -260,9 +278,7 @@ blis-gemm-mt: \
test_cgemm_4m1a_blis_mt.x \ test_cgemm_4m1a_blis_mt.x \
test_zgemm_4m1a_blis_mt.x \ test_zgemm_4m1a_blis_mt.x \
test_cgemm_1m_blis_mt.x \ test_cgemm_1m_blis_mt.x \
test_zgemm_1m_blis_mt.x \ test_zgemm_1m_blis_mt.x
test_cgemm_asm_blis_mt.x \
test_zgemm_asm_blis_mt.x
openblas-gemm-st: \ openblas-gemm-st: \
test_sgemm_openblas_st.x \ test_sgemm_openblas_st.x \