From 8749fa0b48a7710f4115023e2c46bc80167bc8f9 Mon Sep 17 00:00:00 2001 From: "Field G. Van Zee" Date: Thu, 31 May 2018 12:34:01 -0500 Subject: [PATCH] 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. --- sandbox/ref99/README.md | 14 ++++--- sandbox/ref99/thread/blx_gemm_thread.h | 4 -- test/3m4m/Makefile | 56 +++++++++++++++++--------- 3 files changed, 44 insertions(+), 30 deletions(-) diff --git a/sandbox/ref99/README.md b/sandbox/ref99/README.md index 5449fe1e1..fd1f3ae75 100644 --- a/sandbox/ref99/README.md +++ b/sandbox/ref99/README.md @@ -112,21 +112,23 @@ working with the existing BLIS infrastructure. 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 -algorithm; + algorithm; - 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; - 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 -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: - 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 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 "framework `CFLAGS`" when compiling the sandbox source files. These are the same diff --git a/sandbox/ref99/thread/blx_gemm_thread.h b/sandbox/ref99/thread/blx_gemm_thread.h index 265d53e1f..903f590f1 100644 --- a/sandbox/ref99/thread/blx_gemm_thread.h +++ b/sandbox/ref99/thread/blx_gemm_thread.h @@ -32,9 +32,6 @@ */ -#ifndef BLIS_GEMM_THREAD_H -#define BLIS_GEMM_THREAD_H - // gemm internal function type typedef void (*gemmint_t) ( @@ -57,4 +54,3 @@ void blx_gemm_thread cntl_t* cntl ); -#endif diff --git a/test/3m4m/Makefile b/test/3m4m/Makefile index e5aa84dfa..ca0ac7721 100644 --- a/test/3m4m/Makefile +++ b/test/3m4m/Makefile @@ -214,22 +214,45 @@ PDEF_MT := -DP_BEGIN=200 \ # --- Targets/rules ------------------------------------------------------------ # -all-st: blis-st openblas-st mkl-st -all-mt: blis-mt openblas-mt mkl-mt +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 -blis-st: blis-gemm-st -blis-mt: blis-gemm-mt +all-st: blis-st openblas-st mkl-st +all-mt: blis-mt openblas-mt mkl-mt -openblas-st: openblas-gemm-st -openblas-mt: openblas-gemm-mt +blis-st: blis-gemm-st +blis-mt: blis-gemm-mt -mkl-st: mkl-gemm-st -mkl-mt: mkl-gemm-mt +blis-nat-st: blis-gemm-nat-st +blis-nat-mt: blis-gemm-nat-mt -blis-gemm-st: \ +openblas-st: openblas-gemm-st +openblas-mt: openblas-gemm-mt + +mkl-st: mkl-gemm-st +mkl-mt: mkl-gemm-mt + +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_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_zgemm_3mhw_blis_st.x \ test_cgemm_3m1_blis_st.x \ @@ -241,14 +264,9 @@ blis-gemm-st: \ test_cgemm_4m1a_blis_st.x \ test_zgemm_4m1a_blis_st.x \ test_cgemm_1m_blis_st.x \ - test_zgemm_1m_blis_st.x \ - test_cgemm_asm_blis_st.x \ - test_zgemm_asm_blis_st.x + test_zgemm_1m_blis_st.x -blis-gemm-mt: \ - test_sgemm_asm_blis_mt.x \ - test_dgemm_asm_blis_mt.x \ - \ +blis-gemm-ind-mt: \ test_cgemm_3mhw_blis_mt.x \ test_zgemm_3mhw_blis_mt.x \ test_cgemm_3m1_blis_mt.x \ @@ -260,9 +278,7 @@ blis-gemm-mt: \ test_cgemm_4m1a_blis_mt.x \ test_zgemm_4m1a_blis_mt.x \ test_cgemm_1m_blis_mt.x \ - test_zgemm_1m_blis_mt.x \ - test_cgemm_asm_blis_mt.x \ - test_zgemm_asm_blis_mt.x + test_zgemm_1m_blis_mt.x openblas-gemm-st: \ test_sgemm_openblas_st.x \