├── version ├── blastest ├── obj │ └── .gitkeep ├── input │ ├── dblat3.in │ ├── sblat3.in │ ├── cblat3.in │ ├── zblat3.in │ ├── dblat2.in │ ├── sblat2.in │ ├── cblat2.in │ └── zblat2.in └── f2c │ ├── i_len.c │ ├── dolio.c │ ├── i_dnnt.c │ ├── h_dnnt.c │ ├── prod.c │ ├── imag.c │ ├── acos.c │ ├── asin.c │ ├── atan.c │ ├── tan.c │ ├── cosh.c │ ├── lg10.c │ ├── sinh.c │ ├── tanh.c │ ├── epsilon.c │ ├── atn2.c │ ├── int.c │ ├── exit_.c │ ├── cnjg.c │ ├── sqrt.c │ ├── rewind.c │ ├── s_stop.c │ └── dim.c ├── testsuite ├── obj │ └── .gitkeep └── old │ └── jobscripts │ ├── mk.sh │ ├── cfig.sh │ ├── runtest.sh │ ├── mk.out │ ├── jb-mk.sh │ ├── jb-cfig.sh │ └── jb-runtest.sh ├── so_version ├── test ├── 3 │ └── octave │ │ ├── gen_opnames.m │ │ └── read_data.m ├── mixeddt │ └── matlab │ │ ├── output │ │ └── .gitkeep │ │ ├── wawoxmem │ │ ├── dt_to_dom.m │ │ ├── prec_dom_to_dt.m │ │ ├── uses_xmem.m │ │ └── plot_dom_all.m │ │ ├── prec_dom_to_dt.m │ │ ├── plot_dom_all.m │ │ ├── testrand.m │ │ └── plot_all.m ├── sup │ ├── octave │ │ ├── bkup │ │ │ └── runthese.m │ │ └── load_data.m │ └── old │ │ ├── octave_st │ │ ├── runthese.m │ │ └── gen_opsupnames.m │ │ ├── octave_mt │ │ └── runthese.m │ │ ├── supst │ │ └── octave │ │ │ ├── runthese.m │ │ │ └── gen_opsupnames.m │ │ └── supmt │ │ └── octave │ │ └── runthese.m ├── runme.sh └── studies │ └── skx │ └── plot_skx_perf.m ├── kernels ├── power7 │ └── 3 │ │ └── test │ │ ├── bli_gemm_power7_int_8x4.c │ │ ├── Makefile │ │ └── blis_utest.h ├── zen │ └── 3 │ │ └── sup │ │ └── broken │ │ ├── bli_gemmsup_rv_zen_asm_c3x8.c │ │ ├── bli_gemmsup_rv_zen_asm_z3x4.c │ │ ├── bli_gemmsup_rv_zen_asm_c3x8m.c │ │ └── bli_gemmsup_rv_zen_asm_z3x4m.c └── generic │ └── generic.txt ├── frame ├── 1 │ └── other │ │ ├── packv │ │ └── bli_packv.c │ │ └── unpackv │ │ └── bli_unpackv.c ├── 2 │ ├── symv │ │ └── bli_symv.h │ ├── syr │ │ └── bli_syr.h │ └── syr2 │ │ └── bli_syr2.h ├── 3 │ ├── gemmt │ │ └── bli_gemmt.h │ ├── hemm │ │ └── bli_hemm.h │ ├── symm │ │ └── bli_symm.h │ ├── syrk │ │ └── bli_syrk.h │ ├── her2k │ │ └── bli_her2k.h │ ├── syr2k │ │ └── bli_syr2k.h │ ├── trmm3 │ │ └── bli_trmm3.h │ ├── herk │ │ └── bli_herk.h │ └── trmm │ │ └── bli_trmm.h ├── compat │ ├── cblas │ │ ├── cblas.tgz │ │ └── src │ │ │ ├── cblas_globals.c │ │ │ ├── cblas_srotg.c │ │ │ ├── cblas_drotg.c │ │ │ ├── cblas_srotmg.c │ │ │ ├── cblas_drotmg.c │ │ │ ├── cblas_drotm.c │ │ │ ├── cblas_sscal.c │ │ │ ├── cblas_dscal.c │ │ │ ├── cblas_csscal.c │ │ │ ├── cblas_zdscal.c │ │ │ ├── cblas_cscal.c │ │ │ ├── cblas_zscal.c │ │ │ ├── cblas_dswap.c │ │ │ ├── cblas_sswap.c │ │ │ ├── cblas_dcopy.c │ │ │ ├── cblas_sasum.c │ │ │ ├── cblas_scopy.c │ │ │ ├── cblas_snrm2.c │ │ │ ├── cblas_dasum.c │ │ │ ├── cblas_dnrm2.c │ │ │ ├── cblas_scasum.c │ │ │ ├── cblas_scnrm2.c │ │ │ ├── cblas_dzasum.c │ │ │ ├── cblas_dznrm2.c │ │ │ ├── cblas_cswap.c │ │ │ ├── cblas_srotm.c │ │ │ ├── cblas_zswap.c │ │ │ ├── cblas_ccopy.c │ │ │ ├── cblas_zcopy.c │ │ │ ├── cblas_daxpy.c │ │ │ ├── cblas_drot.c │ │ │ ├── cblas_isamax.c │ │ │ ├── cblas_idamax.c │ │ │ ├── cblas_srot.c │ │ │ ├── cblas_icamax.c │ │ │ ├── cblas_izamax.c │ │ │ ├── cblas_caxpy.c │ │ │ ├── cblas_zaxpy.c │ │ │ ├── cblas_saxpy.c │ │ │ ├── cblas_sdot.c │ │ │ ├── cblas_ddot.c │ │ │ ├── cblas_dsdot.c │ │ │ ├── cblas_cdotc_sub.c │ │ │ ├── cblas_cdotu_sub.c │ │ │ ├── cblas_zdotc_sub.c │ │ │ ├── cblas_sdsdot.c │ │ │ ├── cblas_zdotu_sub.c │ │ │ ├── cblas_sger.c │ │ │ ├── cblas_dger.c │ │ │ ├── cblas_zgeru.c │ │ │ └── cblas_cgeru.c │ ├── check │ │ ├── bla_syr_check.h │ │ ├── bla_symm_check.h │ │ ├── bla_symv_check.h │ │ ├── bla_syr2_check.h │ │ ├── bla_trsm_check.h │ │ └── bla_trsv_check.h │ └── f2c │ │ └── util │ │ └── bla_r_abs.h ├── include │ └── level0 │ │ └── old │ │ ├── bli_castfrom.h │ │ └── bli_castto.h ├── base │ ├── bli_string.h │ ├── noopt │ │ ├── bli_dlamch.h │ │ ├── bli_slamch.h │ │ └── bli_lsame.h │ └── bli_const.h └── 1m │ ├── other │ └── bli_scalm.h │ └── packm │ └── bli_packm_md.h ├── docs └── graphs │ ├── large │ ├── l3_perf_a64fx_nt1.pdf │ ├── l3_perf_a64fx_nt1.png │ ├── l3_perf_has_nt1.pdf │ ├── l3_perf_has_nt1.png │ ├── l3_perf_skx_nt1.pdf │ ├── l3_perf_skx_nt1.png │ ├── l3_perf_tx2_nt1.pdf │ ├── l3_perf_tx2_nt1.png │ ├── l3_perf_zen2_nt1.pdf │ ├── l3_perf_zen2_nt1.png │ ├── l3_perf_zen_nt1.pdf │ ├── l3_perf_zen_nt1.png │ ├── l3_perf_skx_jc2ic13_nt26.pdf │ ├── l3_perf_skx_jc2ic13_nt26.png │ ├── l3_perf_skx_jc4ic13_nt52.pdf │ ├── l3_perf_skx_jc4ic13_nt52.png │ ├── l3_perf_tx2_jc4ic7_nt28.pdf │ ├── l3_perf_tx2_jc4ic7_nt28.png │ ├── l3_perf_tx2_jc8ic7_nt56.pdf │ ├── l3_perf_tx2_jc8ic7_nt56.png │ ├── l3_perf_has_jc2ic3jr2_nt12.pdf │ ├── l3_perf_has_jc2ic3jr2_nt12.png │ ├── l3_perf_has_jc4ic3jr2_nt24.pdf │ ├── l3_perf_has_jc4ic3jr2_nt24.png │ ├── l3_perf_zen2_jc4ic4jr4_nt64.pdf │ ├── l3_perf_zen2_jc4ic4jr4_nt64.png │ ├── l3_perf_zen_jc1ic8jr4_nt32.pdf │ ├── l3_perf_zen_jc1ic8jr4_nt32.png │ ├── l3_perf_zen_jc2ic8jr4_nt64.pdf │ ├── l3_perf_zen_jc2ic8jr4_nt64.png │ ├── l3_perf_a64fx_jc1ic1jr12_nt12.pdf │ ├── l3_perf_a64fx_jc1ic1jr12_nt12.png │ ├── l3_perf_a64fx_jc1ic4jr12_nt48.pdf │ ├── l3_perf_a64fx_jc1ic4jr12_nt48.png │ ├── l3_perf_zen2_jc8ic4jr4_nt128.pdf │ └── l3_perf_zen2_jc8ic4jr4_nt128.png │ ├── sup │ ├── dgemm_ccc_has_nt1.pdf │ ├── dgemm_ccc_has_nt1.png │ ├── dgemm_ccc_has_nt12.pdf │ ├── dgemm_ccc_has_nt12.png │ ├── dgemm_ccc_kbl_nt1.pdf │ ├── dgemm_ccc_kbl_nt1.png │ ├── dgemm_ccc_kbl_nt4.pdf │ ├── dgemm_ccc_kbl_nt4.png │ ├── dgemm_ccc_zen2_nt1.pdf │ ├── dgemm_ccc_zen2_nt1.png │ ├── dgemm_ccc_zen2_nt32.pdf │ ├── dgemm_ccc_zen2_nt32.png │ ├── dgemm_ccc_zen_nt1.pdf │ ├── dgemm_ccc_zen_nt1.png │ ├── dgemm_ccc_zen_nt32.pdf │ ├── dgemm_ccc_zen_nt32.png │ ├── dgemm_rrr_has_nt1.pdf │ ├── dgemm_rrr_has_nt1.png │ ├── dgemm_rrr_has_nt12.pdf │ ├── dgemm_rrr_has_nt12.png │ ├── dgemm_rrr_kbl_nt1.pdf │ ├── dgemm_rrr_kbl_nt1.png │ ├── dgemm_rrr_kbl_nt4.pdf │ ├── dgemm_rrr_kbl_nt4.png │ ├── dgemm_rrr_zen2_nt1.pdf │ ├── dgemm_rrr_zen2_nt1.png │ ├── dgemm_rrr_zen2_nt32.pdf │ ├── dgemm_rrr_zen2_nt32.png │ ├── dgemm_rrr_zen_nt1.pdf │ ├── dgemm_rrr_zen_nt1.png │ ├── dgemm_rrr_zen_nt32.pdf │ ├── dgemm_rrr_zen_nt32.png │ ├── sgemm_ccc_zen2_nt1.pdf │ ├── sgemm_ccc_zen2_nt1.png │ ├── sgemm_ccc_zen2_nt32.pdf │ ├── sgemm_ccc_zen2_nt32.png │ ├── sgemm_rrr_zen2_nt1.pdf │ ├── sgemm_rrr_zen2_nt1.png │ ├── sgemm_rrr_zen2_nt32.pdf │ └── sgemm_rrr_zen2_nt32.png │ └── aaplmx │ ├── output_st_dgemm_asm_blis.png │ └── output_st_sgemm_asm_blis.png ├── sandbox ├── appleamx2 │ └── old │ │ └── amx_testsuite │ │ ├── common.h │ │ ├── Makefile │ │ └── performance.h └── power10 │ └── p10_testsuite │ ├── common.h │ ├── Makefile │ └── performance.h ├── blis.pc.in ├── .dir-locals.el ├── travis ├── patch-ld-so.py └── do_testsuite.sh ├── README.md ├── config ├── README.md ├── old │ └── newarch │ │ └── bli_kernel.h ├── x86_64 │ └── bli_family_x86_64.h └── intel64 │ └── bli_family_intel64.h ├── INSTALL ├── .gitignore ├── vendor └── testcpp │ └── test.sh ├── RELEASING ├── config_registry └── examples ├── tapi └── README └── oapi └── README /version: -------------------------------------------------------------------------------- 1 | 0.8.1 2 | -------------------------------------------------------------------------------- /blastest/obj/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /testsuite/obj/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /so_version: -------------------------------------------------------------------------------- 1 | 4 2 | 0.0 3 | -------------------------------------------------------------------------------- /test/mixeddt/matlab/output/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /kernels/power7/3/test/bli_gemm_power7_int_8x4.c: -------------------------------------------------------------------------------- 1 | ../bli_gemm_power7_int_8x4.c -------------------------------------------------------------------------------- /frame/compat/cblas/cblas.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/frame/compat/cblas/cblas.tgz -------------------------------------------------------------------------------- /testsuite/old/jobscripts/mk.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd ~/blis 4 | make clean 5 | make 6 | echo "MAKE DONE" 7 | -------------------------------------------------------------------------------- /testsuite/old/jobscripts/cfig.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd ~/blis 4 | ./configure power9 5 | echo "CONFIGURE DONE" 6 | -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_a64fx_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_a64fx_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_a64fx_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_a64fx_nt1.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_has_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_has_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_has_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_has_nt1.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_skx_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_skx_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_skx_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_skx_nt1.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_tx2_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_tx2_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_tx2_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_tx2_nt1.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_zen2_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_zen2_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_zen2_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_zen2_nt1.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_zen_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_zen_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_zen_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_zen_nt1.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_has_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_has_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_has_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_has_nt1.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_has_nt12.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_has_nt12.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_has_nt12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_has_nt12.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_kbl_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_kbl_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_kbl_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_kbl_nt1.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_kbl_nt4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_kbl_nt4.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_kbl_nt4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_kbl_nt4.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_zen2_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_zen2_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_zen2_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_zen2_nt1.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_zen2_nt32.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_zen2_nt32.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_zen2_nt32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_zen2_nt32.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_zen_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_zen_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_zen_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_zen_nt1.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_zen_nt32.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_zen_nt32.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_ccc_zen_nt32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_ccc_zen_nt32.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_has_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_has_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_has_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_has_nt1.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_has_nt12.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_has_nt12.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_has_nt12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_has_nt12.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_kbl_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_kbl_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_kbl_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_kbl_nt1.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_kbl_nt4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_kbl_nt4.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_kbl_nt4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_kbl_nt4.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_zen2_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_zen2_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_zen2_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_zen2_nt1.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_zen2_nt32.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_zen2_nt32.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_zen2_nt32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_zen2_nt32.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_zen_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_zen_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_zen_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_zen_nt1.png -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_zen_nt32.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_zen_nt32.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/dgemm_rrr_zen_nt32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/dgemm_rrr_zen_nt32.png -------------------------------------------------------------------------------- /docs/graphs/sup/sgemm_ccc_zen2_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/sgemm_ccc_zen2_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/sgemm_ccc_zen2_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/sgemm_ccc_zen2_nt1.png -------------------------------------------------------------------------------- /docs/graphs/sup/sgemm_ccc_zen2_nt32.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/sgemm_ccc_zen2_nt32.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/sgemm_ccc_zen2_nt32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/sgemm_ccc_zen2_nt32.png -------------------------------------------------------------------------------- /docs/graphs/sup/sgemm_rrr_zen2_nt1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/sgemm_rrr_zen2_nt1.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/sgemm_rrr_zen2_nt1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/sgemm_rrr_zen2_nt1.png -------------------------------------------------------------------------------- /docs/graphs/sup/sgemm_rrr_zen2_nt32.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/sgemm_rrr_zen2_nt32.pdf -------------------------------------------------------------------------------- /docs/graphs/sup/sgemm_rrr_zen2_nt32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/sup/sgemm_rrr_zen2_nt32.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_skx_jc2ic13_nt26.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_skx_jc2ic13_nt26.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_skx_jc2ic13_nt26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_skx_jc2ic13_nt26.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_skx_jc4ic13_nt52.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_skx_jc4ic13_nt52.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_skx_jc4ic13_nt52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_skx_jc4ic13_nt52.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_tx2_jc4ic7_nt28.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_tx2_jc4ic7_nt28.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_tx2_jc4ic7_nt28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_tx2_jc4ic7_nt28.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_tx2_jc8ic7_nt56.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_tx2_jc8ic7_nt56.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_tx2_jc8ic7_nt56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_tx2_jc8ic7_nt56.png -------------------------------------------------------------------------------- /docs/graphs/aaplmx/output_st_dgemm_asm_blis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/aaplmx/output_st_dgemm_asm_blis.png -------------------------------------------------------------------------------- /docs/graphs/aaplmx/output_st_sgemm_asm_blis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/aaplmx/output_st_sgemm_asm_blis.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_has_jc2ic3jr2_nt12.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_has_jc2ic3jr2_nt12.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_has_jc2ic3jr2_nt12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_has_jc2ic3jr2_nt12.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_has_jc4ic3jr2_nt24.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_has_jc4ic3jr2_nt24.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_has_jc4ic3jr2_nt24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_has_jc4ic3jr2_nt24.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_zen2_jc4ic4jr4_nt64.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_zen2_jc4ic4jr4_nt64.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_zen2_jc4ic4jr4_nt64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_zen2_jc4ic4jr4_nt64.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_zen_jc1ic8jr4_nt32.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_zen_jc1ic8jr4_nt32.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_zen_jc1ic8jr4_nt32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_zen_jc1ic8jr4_nt32.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_zen_jc2ic8jr4_nt64.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_zen_jc2ic8jr4_nt64.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_zen_jc2ic8jr4_nt64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_zen_jc2ic8jr4_nt64.png -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_globals.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | int CBLAS_CallFromC=0; 4 | int RowMajorStrg=0; 5 | #endif 6 | -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_a64fx_jc1ic1jr12_nt12.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_a64fx_jc1ic1jr12_nt12.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_a64fx_jc1ic1jr12_nt12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_a64fx_jc1ic1jr12_nt12.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_a64fx_jc1ic4jr12_nt48.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_a64fx_jc1ic4jr12_nt48.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_a64fx_jc1ic4jr12_nt48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_a64fx_jc1ic4jr12_nt48.png -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_zen2_jc8ic4jr4_nt128.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_zen2_jc8ic4jr4_nt128.pdf -------------------------------------------------------------------------------- /docs/graphs/large/l3_perf_zen2_jc8ic4jr4_nt128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/docs/graphs/large/l3_perf_zen2_jc8ic4jr4_nt128.png -------------------------------------------------------------------------------- /kernels/zen/3/sup/broken/bli_gemmsup_rv_zen_asm_c3x8.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/kernels/zen/3/sup/broken/bli_gemmsup_rv_zen_asm_c3x8.c -------------------------------------------------------------------------------- /kernels/zen/3/sup/broken/bli_gemmsup_rv_zen_asm_z3x4.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/kernels/zen/3/sup/broken/bli_gemmsup_rv_zen_asm_z3x4.c -------------------------------------------------------------------------------- /kernels/zen/3/sup/broken/bli_gemmsup_rv_zen_asm_c3x8m.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/kernels/zen/3/sup/broken/bli_gemmsup_rv_zen_asm_c3x8m.c -------------------------------------------------------------------------------- /kernels/zen/3/sup/broken/bli_gemmsup_rv_zen_asm_z3x4m.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrq-phys/blis_apple/HEAD/kernels/zen/3/sup/broken/bli_gemmsup_rv_zen_asm_z3x4m.c -------------------------------------------------------------------------------- /testsuite/old/jobscripts/runtest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd ~/blis/testsuite 4 | rm -rf test_libblis.out 5 | make clean 6 | make -j 7 | ./test_libblis.x > test_libblis.out 8 | echo "TEST DONE" 9 | -------------------------------------------------------------------------------- /test/mixeddt/matlab/wawoxmem/dt_to_dom.m: -------------------------------------------------------------------------------- 1 | function r_val = dt_to_dom( dt ) 2 | 3 | dom = 'rrr'; 4 | 5 | for ch = 1:3 6 | 7 | if dt(ch) == 'c' || dt(ch) == 'z' 8 | dom(ch) = 'c'; 9 | end 10 | end 11 | 12 | r_val = dom; 13 | end 14 | -------------------------------------------------------------------------------- /test/mixeddt/matlab/prec_dom_to_dt.m: -------------------------------------------------------------------------------- 1 | function r_val = prec_dom_to_dt( pc, dc ) 2 | 3 | if dc == 'r' 4 | if pc == 's' 5 | r_val = 's'; 6 | else 7 | r_val = 'd'; 8 | end 9 | else 10 | if pc == 's' 11 | r_val = 'c'; 12 | else 13 | r_val = 'z'; 14 | end 15 | end 16 | 17 | end 18 | -------------------------------------------------------------------------------- /sandbox/appleamx2/old/amx_testsuite/common.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef COMMON_H 3 | #define COMMON_H 4 | 5 | // enumerate all datatypes that will be tested 6 | enum DATATYPES { 7 | FLOAT64, 8 | FLOAT32, 9 | FLOAT16, 10 | FLOAT16_32, 11 | INT16, 12 | INT16_32 13 | }; 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /kernels/power7/3/test/Makefile: -------------------------------------------------------------------------------- 1 | 2 | CC = gcc 3 | TARGET_ARCH = -m64 -mvsx 4 | 5 | TGTS = exp 6 | 7 | KERNEL = bli_gemm_opt_8x4.o 8 | 9 | CFLAGS = -DUTEST -std=gnu99 -ggdb3 -Wall 10 | CFLAGS += -O3 11 | 12 | all: $(TGTS) 13 | 14 | exp: exp.o $(KERNEL) 15 | 16 | clean: 17 | rm -f $(TGTS) *.o 18 | 19 | -------------------------------------------------------------------------------- /sandbox/power10/p10_testsuite/common.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef COMMON_H 3 | #define COMMON_H 4 | 5 | // enumerate all datatypes that will be tested 6 | enum DATATYPES { 7 | DOUBLE , 8 | SINGLE , 9 | FLOAT16 , 10 | BFLOAT16, 11 | INT16 , 12 | INT8 , 13 | INT4 14 | }; 15 | 16 | #endif -------------------------------------------------------------------------------- /test/mixeddt/matlab/wawoxmem/prec_dom_to_dt.m: -------------------------------------------------------------------------------- 1 | function r_val = prec_dom_to_dt( pc, dc ) 2 | 3 | if dc == 'r' 4 | if pc == 's' 5 | r_val = 's'; 6 | else 7 | r_val = 'd'; 8 | end 9 | else 10 | if pc == 's' 11 | r_val = 'c'; 12 | else 13 | r_val = 'z'; 14 | end 15 | end 16 | 17 | end 18 | -------------------------------------------------------------------------------- /blis.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: BLIS 7 | Description: BLAS-like Library Instantiation Software Framework 8 | Version: @PACKAGE_VERSION@ 9 | Libs: -L${libdir} -lblis 10 | Libs.private: @LDFLAGS@ 11 | Cflags: -I${includedir}/blis 12 | -------------------------------------------------------------------------------- /test/3/octave/gen_opnames.m: -------------------------------------------------------------------------------- 1 | function r_val = gen_opnames( ops, dts ) 2 | 3 | nops = size( ops, 1 ); 4 | ndts = size( dts, 2 ); 5 | 6 | i = 1; 7 | 8 | for id = 1:ndts 9 | 10 | dt = dts( id ); 11 | 12 | for io = 1:nops 13 | 14 | op = ops( io, : ); 15 | 16 | opnames( i, : ) = sprintf( '%c%s', dt, op ); 17 | i = i + 1; 18 | end 19 | end 20 | 21 | r_val = opnames; 22 | 23 | -------------------------------------------------------------------------------- /.dir-locals.el: -------------------------------------------------------------------------------- 1 | ;; First (minimal) attempt at configuring Emacs CC mode for the BLIS 2 | ;; layout requirements. 3 | ((c-mode . ((c-file-style . "stroustrup") 4 | (c-basic-offset . 4) 5 | (comment-start . "// ") 6 | (comment-end . "") 7 | (indent-tabs-mode . t) 8 | (tab-width . 4) 9 | (parens-require-spaces . nil)))) 10 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_srotg.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_srotg.c 5 | * 6 | * The program is a C interface to srotg. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_srotg( float *a, float *b, float *c, float *s) 14 | { 15 | F77_srotg(a,b,c,s); 16 | } 17 | #endif 18 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_drotg.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_drotg.c 5 | * 6 | * The program is a C interface to drotg. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_drotg( double *a, double *b, double *c, double *s) 14 | { 15 | F77_drotg(a,b,c,s); 16 | } 17 | #endif 18 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_srotmg.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_srotmg.c 5 | * 6 | * The program is a C interface to srotmg. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_srotmg( float *d1, float *d2, float *b1, 14 | const float b2, float *p) 15 | { 16 | F77_srotmg(d1,d2,b1,&b2,p); 17 | } 18 | #endif 19 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_drotmg.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_drotmg.c 5 | * 6 | * The program is a C interface to drotmg. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_drotmg( double *d1, double *d2, double *b1, 14 | const double b2, double *p) 15 | { 16 | F77_drotmg(d1,d2,b1,&b2,p); 17 | } 18 | #endif 19 | -------------------------------------------------------------------------------- /travis/patch-ld-so.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # 4 | # Patch ld.so to disable runtime CPUID detection 5 | # Taken from https://stackoverflow.com/a/44483482 6 | # 7 | 8 | import re 9 | import sys 10 | 11 | infile, outfile = sys.argv[1:] 12 | d = open(infile, 'rb').read() 13 | # Match CPUID(eax=0), "xor eax,eax" followed closely by "cpuid" 14 | o = re.sub(b'(\x31\xc0.{0,32})\x0f\xa2', b'\\1\x66\x90', d) 15 | #assert d != o 16 | open(outfile, 'wb').write(o) 17 | -------------------------------------------------------------------------------- /testsuite/old/jobscripts/mk.out: -------------------------------------------------------------------------------- 1 | Removing flattened header files from include/power9 2 | Removing object files from ./obj/power9 3 | srun: Job step aborted: Waiting up to 32 seconds for job step to finish. 4 | srun: got SIGCONT 5 | slurmstepd: error: *** JOB 1155 ON lookout00 CANCELLED AT 2019-06-10T17:29:07 *** 6 | srun: forcing job termination 7 | slurmstepd: error: *** STEP 1155.0 ON lookout00 CANCELLED AT 2019-06-10T17:29:07 *** 8 | make: *** [cleanlib] Terminated 9 | srun: error: lookout00: task 0: Terminated 10 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_drotm.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | #include "cblas.h" 4 | #include "cblas_f77.h" 5 | void cblas_drotm( f77_int N, double *X, f77_int incX, double *Y, 6 | f77_int incY, const double *P) 7 | { 8 | #ifdef F77_INT 9 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 10 | #else 11 | #define F77_N N 12 | #define F77_incX incX 13 | #define F77_incY incY 14 | #endif 15 | F77_drotm( &F77_N, X, &F77_incX, Y, &F77_incY, P); 16 | } 17 | #endif 18 | -------------------------------------------------------------------------------- /test/sup/octave/bkup/runthese.m: -------------------------------------------------------------------------------- 1 | % kabylake 2 | plot_panel_trxsh(3.80,16,1,'st','d','rrr',[ 6 8 4 ],'lds','uaub','../results/kabylake/20200302/mnkt100000_st','kbl','MKL','octave'); close; clear all; 3 | 4 | % haswell 5 | plot_panel_trxsh(3.5,16,1,'st','d','rrr',[ 6 8 4 ],'lds','uaub','../results/haswell/20200302/mnkt100000_st','has','MKL','octave'); close; clear all; 6 | 7 | % epyc 8 | plot_panel_trxsh(3.00, 8,1,'st','d','rrr',[ 6 8 4 ],'lds','uaub','../results/epyc/20200302/mnkt100000_st','epyc','MKL','octave'); close; clear all; 9 | -------------------------------------------------------------------------------- /test/sup/old/octave_st/runthese.m: -------------------------------------------------------------------------------- 1 | % kabylake 2 | plot_panel_trxsh(3.80,16,1,'st','d','rrr',[ 6 8 4 ],'lds','uaub','../results/kabylake/20200302/mnkt100000_st','kbl','MKL','octave'); close; clear all; 3 | 4 | % haswell 5 | plot_panel_trxsh(3.5,16,1,'st','d','rrr',[ 6 8 4 ],'lds','uaub','../results/haswell/20200302/mnkt100000_st','has','MKL','octave'); close; clear all; 6 | 7 | % epyc 8 | plot_panel_trxsh(3.00, 8,1,'st','d','rrr',[ 6 8 4 ],'lds','uaub','../results/epyc/20200302/mnkt100000_st','epyc','MKL','octave'); close; clear all; 9 | -------------------------------------------------------------------------------- /test/sup/old/octave_mt/runthese.m: -------------------------------------------------------------------------------- 1 | % kabylake 2 | plot_panel_trxsh(3.80,16,4,'mt','d','rrr',[ 6 8 10 ],'lds','uaub','../results/kabylake/20200302/mnkt100000_mt4','kbl','MKL','octave'); close; clear all; 3 | 4 | % haswell 5 | plot_panel_trxsh(3.1,16,12,'mt','d','rrr',[ 6 8 10 ],'lds','uaub','../results/haswell/20200302/mnkt100000_mt12','has','MKL','octave'); close; clear all; 6 | 7 | % epyc 8 | plot_panel_trxsh(2.55,8,32,'mt','d','rrr',[ 6 8 10 ],'lds','uaub','../results/epyc/20200302/mnkt100000_mt32','epyc','MKL','octave'); close; clear all; 9 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_sscal.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_sscal.c 5 | * 6 | * The program is a C interface to sscal. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_sscal( f77_int N, float alpha, float *X, 14 | f77_int incX) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #endif 22 | F77_sscal( &F77_N, &alpha, X, &F77_incX); 23 | } 24 | #endif 25 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_dscal.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_dscal.c 5 | * 6 | * The program is a C interface to dscal. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_dscal( f77_int N, double alpha, double *X, 14 | f77_int incX) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #endif 22 | F77_dscal( &F77_N, &alpha, X, &F77_incX); 23 | } 24 | #endif 25 | -------------------------------------------------------------------------------- /test/mixeddt/matlab/wawoxmem/uses_xmem.m: -------------------------------------------------------------------------------- 1 | function r_val = uses_xmem( dt_str ) 2 | 3 | a = dt_str(1); 4 | b = dt_str(4); 5 | 6 | a_prec = 'd'; 7 | b_prec = 'd'; 8 | 9 | if ( a == 's' || a == 'c' ) 10 | a_prec = 's'; 11 | end 12 | 13 | if ( b == 's' || b == 'c' ) 14 | b_prec = 's'; 15 | end 16 | 17 | dom_str = dt_to_dom( dt_str ); 18 | 19 | r_val = 0; 20 | 21 | if ( a_prec ~= b_prec ) 22 | 23 | r_val = 1; 24 | 25 | elseif ( strcmp( dom_str, 'crr' ) ) 26 | 27 | r_val = 1; 28 | 29 | elseif ( strcmp( dom_str, 'crc' ) ) 30 | 31 | r_val = 1; 32 | end 33 | 34 | end 35 | -------------------------------------------------------------------------------- /test/sup/old/supst/octave/runthese.m: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | % kabylake 19 | plot_panel_trxsh(3.80,16,1,'st','d','rrr',[ 6 8 4 ],'../results/kabylake/20200302/mnkt100000_st','kbl','MKL','octave'); close; clear all; 20 | 21 | % haswell 22 | plot_panel_trxsh(3.5,16,1,'st','d','rrr',[ 6 8 4 ],'../results/haswell/20200302/mnkt100000_st','has','MKL','octave'); close; clear all; 23 | 24 | % epyc 25 | plot_panel_trxsh(3.00, 8,1,'st','d','rrr',[ 6 8 4 ],'../results/epyc/20200302/mnkt100000_st','epyc','MKL','octave'); close; clear all; 26 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_csscal.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_csscal.c 5 | * 6 | * The program is a C interface to csscal. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_csscal( f77_int N, float alpha, void *X, 14 | f77_int incX) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #endif 22 | F77_csscal( &F77_N, &alpha, (scomplex*)X, &F77_incX); 23 | } 24 | #endif 25 | -------------------------------------------------------------------------------- /testsuite/old/jobscripts/jb-mk.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # execute in the general partition 4 | #SBATCH --partition=general 5 | 6 | # execute with 40 processes/tasks 7 | #SBATCH --ntasks=1 8 | 9 | # maximum time is 30 minutes 10 | #SBATCH --time=00:30:00 11 | 12 | # job name is my_job 13 | #SBATCH --job-name=blis 14 | 15 | # send email for status updates 16 | #SBATCH --mail-type=ALL,TIME_LIMIT 17 | #SBATCH --mail-user=ntukanov 18 | 19 | # change default output file name 20 | #SBATCH --output=mk.out 21 | 22 | # load environment 23 | module load gcc/8.2 24 | 25 | # application execution 26 | srun mk.sh 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_zdscal.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_zdscal.c 5 | * 6 | * The program is a C interface to zdscal. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_zdscal( f77_int N, double alpha, void *X, 14 | f77_int incX) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #endif 22 | F77_zdscal( &F77_N, &alpha, (dcomplex*)X, &F77_incX); 23 | } 24 | #endif 25 | -------------------------------------------------------------------------------- /testsuite/old/jobscripts/jb-cfig.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # execute in the general partition 4 | #SBATCH --partition=general 5 | 6 | # execute with 40 processes/tasks 7 | #SBATCH --ntasks=1 8 | 9 | # maximum time is 30 minutes 10 | #SBATCH --time=00:30:00 11 | 12 | # job name is my_job 13 | #SBATCH --job-name=blis 14 | 15 | # send email for status updates 16 | #SBATCH --mail-type=ALL,TIME_LIMIT 17 | #SBATCH --mail-user=ntukanov 18 | 19 | # change default output file name 20 | #SBATCH --output=cfig.out 21 | 22 | # load environment 23 | module load gcc/8.2 24 | 25 | # application execution 26 | srun cfig.sh 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_cscal.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_cscal.c 5 | * 6 | * The program is a C interface to cscal.f. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_cscal( f77_int N, const void *alpha, void *X, 14 | f77_int incX) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #endif 22 | F77_cscal( &F77_N, (scomplex*)alpha, (scomplex*)X, &F77_incX); 23 | } 24 | #endif 25 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_zscal.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_zscal.c 5 | * 6 | * The program is a C interface to zscal. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_zscal( f77_int N, const void *alpha, void *X, 14 | f77_int incX) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #endif 22 | F77_zscal( &F77_N, (dcomplex*)alpha, (dcomplex*)X, &F77_incX); 23 | } 24 | #endif 25 | -------------------------------------------------------------------------------- /testsuite/old/jobscripts/jb-runtest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # execute in the general partition 4 | #SBATCH --partition=general 5 | 6 | # execute with 40 processes/tasks 7 | #SBATCH --ntasks=1 8 | 9 | # maximum time is 30 minutes 10 | #SBATCH --time=00:30:00 11 | 12 | # job name is my_job 13 | #SBATCH --job-name=blis 14 | 15 | # send email for status updates 16 | #SBATCH --mail-type=ALL,TIME_LIMIT 17 | #SBATCH --mail-user=ntukanov 18 | 19 | # change default output file name 20 | #SBATCH --output=runtest.out 21 | 22 | # load environment 23 | module load gcc/8.2 24 | 25 | # application execution 26 | srun runtest.sh 27 | -------------------------------------------------------------------------------- /test/sup/old/supmt/octave/runthese.m: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | % kabylake 19 | plot_panel_trxsh(3.80,16,4,'mt','d','rrr',[ 6 8 10 ],'../../sup/results/kabylake/20200302/mnkt100000_mt4','kbl','MKL','octave'); close; clear all; 20 | 21 | % haswell 22 | plot_panel_trxsh(3.1,16,12,'mt','d','rrr',[ 6 8 10 ],'../../sup/results/haswell/20200302/mnkt100000_mt12','has','MKL','octave'); close; clear all; 23 | 24 | % epyc 25 | plot_panel_trxsh(2.55,8,32,'mt','d','rrr',[ 6 8 10 ],'../../sup/results/epyc/20200302/mnkt100000_mt32','epyc','MKL','octave'); close; clear all; 26 | -------------------------------------------------------------------------------- /travis/do_testsuite.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | set -x 5 | 6 | export BLIS_JC_NT=1 7 | export BLIS_IC_NT=2 8 | export BLIS_JR_NT=1 9 | export BLIS_IR_NT=1 10 | 11 | if [ "$TEST" = "FAST" ]; then 12 | make testblis-fast 13 | elif [ "$TEST" = "MD" ]; then 14 | make testblis-md 15 | elif [ "$TEST" = "SALT" ]; then 16 | # Disable multithreading within BLIS. 17 | export BLIS_JC_NT=1 BLIS_IC_NT=1 BLIS_JR_NT=1 BLIS_IR_NT=1 18 | make testblis-salt 19 | else 20 | make testblis 21 | fi 22 | 23 | $DIST_PATH/testsuite/check-blistest.sh ./output.testsuite 24 | make testblas 25 | $DIST_PATH/blastest/check-blastest.sh 26 | 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_dswap.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_dswap.c 5 | * 6 | * The program is a C interface to dswap. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_dswap( f77_int N, double *X, f77_int incX, double *Y, 14 | f77_int incY) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #define F77_incY incY 22 | #endif 23 | F77_dswap( &F77_N, X, &F77_incX, Y, &F77_incY); 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_sswap.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_sswap.c 5 | * 6 | * The program is a C interface to sswap. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_sswap( f77_int N, float *X, f77_int incX, float *Y, 14 | f77_int incY) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #define F77_incY incY 22 | #endif 23 | F77_sswap( &F77_N, X, &F77_incX, Y, &F77_incY); 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_dcopy.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_dcopy.c 5 | * 6 | * The program is a C interface to dcopy. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_dcopy( f77_int N, const double *X, 14 | f77_int incX, double *Y, f77_int incY) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #define F77_incY incY 22 | #endif 23 | F77_dcopy( &F77_N, X, &F77_incX, Y, &F77_incY); 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_sasum.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_sasum.c 5 | * 6 | * The program is a C interface to sasum. 7 | * It calls the fortran wrapper before calling sasum. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | float cblas_sasum( f77_int N, const float *X, f77_int incX) 15 | { 16 | float asum; 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #endif 23 | F77_sasum_sub( &F77_N, X, &F77_incX, &asum); 24 | return asum; 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_scopy.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_scopy.c 5 | * 6 | * The program is a C interface to scopy. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_scopy( f77_int N, const float *X, 14 | f77_int incX, float *Y, f77_int incY) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #define F77_incY incY 22 | #endif 23 | F77_scopy( &F77_N, X, &F77_incX, Y, &F77_incY); 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_snrm2.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_snrm2.c 5 | * 6 | * The program is a C interface to snrm2. 7 | * It calls the fortran wrapper before calling snrm2. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | float cblas_snrm2( f77_int N, const float *X, f77_int incX) 15 | { 16 | float nrm2; 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #endif 23 | F77_snrm2_sub( &F77_N, X, &F77_incX, &nrm2); 24 | return nrm2; 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_dasum.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_dasum.c 5 | * 6 | * The program is a C interface to dasum. 7 | * It calls the fortran wrapper before calling dasum. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | double cblas_dasum( f77_int N, const double *X, f77_int incX) 15 | { 16 | double asum; 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #endif 23 | F77_dasum_sub( &F77_N, X, &F77_incX, &asum); 24 | return asum; 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_dnrm2.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_dnrm2.c 5 | * 6 | * The program is a C interface to dnrm2. 7 | * It calls the fortranwrapper before calling dnrm2. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | double cblas_dnrm2( f77_int N, const double *X, f77_int incX) 15 | { 16 | double nrm2; 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #endif 23 | F77_dnrm2_sub( &F77_N, X, &F77_incX, &nrm2); 24 | return nrm2; 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_scasum.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_scasum.c 5 | * 6 | * The program is a C interface to scasum. 7 | * It calls the fortran wrapper before calling scasum. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | float cblas_scasum( f77_int N, const void *X, f77_int incX) 15 | { 16 | float asum; 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #endif 23 | F77_scasum_sub( &F77_N, X, &F77_incX, &asum); 24 | return asum; 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_scnrm2.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_scnrm2.c 5 | * 6 | * The program is a C interface to scnrm2. 7 | * It calls the fortran wrapper before calling scnrm2. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | float cblas_scnrm2( f77_int N, const void *X, f77_int incX) 15 | { 16 | float nrm2; 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #endif 23 | F77_scnrm2_sub( &F77_N, X, &F77_incX, &nrm2); 24 | return nrm2; 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_dzasum.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_dzasum.c 5 | * 6 | * The program is a C interface to dzasum. 7 | * It calls the fortran wrapper before calling dzasum. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | double cblas_dzasum( f77_int N, const void *X, f77_int incX) 15 | { 16 | double asum; 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #endif 23 | F77_dzasum_sub( &F77_N, X, &F77_incX, &asum); 24 | return asum; 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_dznrm2.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_dznrm2.c 5 | * 6 | * The program is a C interface to dznrm2. 7 | * It calls the fortran wrapper before calling dznrm2. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | double cblas_dznrm2( f77_int N, const void *X, f77_int incX) 15 | { 16 | double nrm2; 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #endif 23 | F77_dznrm2_sub( &F77_N, X, &F77_incX, &nrm2); 24 | return nrm2; 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_cswap.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_cswap.c 5 | * 6 | * The program is a C interface to cswap. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_cswap( f77_int N, void *X, f77_int incX, void *Y, 14 | f77_int incY) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #define F77_incY incY 22 | #endif 23 | F77_cswap( &F77_N, (scomplex*)X, &F77_incX, (scomplex*)Y, &F77_incY); 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_srotm.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_srotm.c 5 | * 6 | * The program is a C interface to srotm. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_srotm( f77_int N, float *X, f77_int incX, float *Y, 14 | f77_int incY, const float *P) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #define F77_incY incY 22 | #endif 23 | F77_srotm( &F77_N, X, &F77_incX, Y, &F77_incY, P); 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_zswap.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_zswap.c 5 | * 6 | * The program is a C interface to zswap. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_zswap( f77_int N, void *X, f77_int incX, void *Y, 14 | f77_int incY) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #define F77_incY incY 22 | #endif 23 | F77_zswap( &F77_N, (dcomplex*)X, &F77_incX, (dcomplex*)Y, &F77_incY); 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_ccopy.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_ccopy.c 5 | * 6 | * The program is a C interface to ccopy. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_ccopy( f77_int N, const void *X, 14 | f77_int incX, void *Y, f77_int incY) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #define F77_incY incY 22 | #endif 23 | F77_ccopy( &F77_N, (scomplex*)X, &F77_incX, (scomplex*)Y, &F77_incY); 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_zcopy.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_zcopy.c 5 | * 6 | * The program is a C interface to zcopy. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_zcopy( f77_int N, const void *X, 14 | f77_int incX, void *Y, f77_int incY) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #define F77_incY incY 22 | #endif 23 | F77_zcopy( &F77_N, (dcomplex*)X, &F77_incX, (dcomplex*)Y, &F77_incY); 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_daxpy.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_daxpy.c 5 | * 6 | * The program is a C interface to daxpy. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_daxpy( f77_int N, double alpha, const double *X, 14 | f77_int incX, double *Y, f77_int incY) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #define F77_incY incY 22 | #endif 23 | F77_daxpy( &F77_N, &alpha, X, &F77_incX, Y, &F77_incY); 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_drot.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_drot.c 5 | * 6 | * The program is a C interface to drot. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_drot(f77_int N, double *X, f77_int incX, 14 | double *Y, f77_int incY, const double c, const double s) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #define F77_incY incY 22 | #endif 23 | F77_drot(&F77_N, X, &F77_incX, Y, &F77_incY, &c, &s); 24 | return; 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_isamax.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_isamax.c 5 | * 6 | * The program is a C interface to isamax. 7 | * It calls the fortran wrapper before calling isamax. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | f77_int cblas_isamax( f77_int N, const float *X, f77_int incX) 15 | { 16 | f77_int iamax; 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #endif 23 | F77_isamax_sub( &F77_N, X, &F77_incX, &iamax); 24 | return iamax ? iamax-1 : 0; 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_idamax.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_idamax.c 5 | * 6 | * The program is a C interface to idamax. 7 | * It calls the fortran wrapper before calling idamax. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | f77_int cblas_idamax( f77_int N, const double *X, f77_int incX) 15 | { 16 | f77_int iamax; 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #endif 23 | F77_idamax_sub( &F77_N, X, &F77_incX, &iamax); 24 | return iamax ? iamax-1 : 0; 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_srot.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_srot.c 5 | * 6 | * The program is a C interface to srot. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_srot( f77_int N, float *X, f77_int incX, float *Y, 14 | f77_int incY, const float c, const float s) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #define F77_incY incY 22 | #endif 23 | F77_srot(&F77_N, X, &F77_incX, Y, &F77_incY, &c, &s); 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /test/sup/octave/load_data.m: -------------------------------------------------------------------------------- 1 | function [ r_val ] = load_data( ... 2 | filetemp, ... 3 | dirpath, ... 4 | thr_str, ... 5 | opsupname, ... 6 | vartemp, ... 7 | opname, ... 8 | impl_str ... 9 | ) 10 | 11 | filepath = sprintf( filetemp, dirpath, thr_str, opsupname ); 12 | run( filepath ) 13 | varname = sprintf( vartemp, thr_str, opname, impl_str ); 14 | data = eval( varname ); % e.g. data_st_dgemm_blissup( :, : ); 15 | 16 | r_val = data; 17 | 18 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_icamax.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_icamax.c 5 | * 6 | * The program is a C interface to icamax. 7 | * It calls the fortran wrapper before calling icamax. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | f77_int cblas_icamax( f77_int N, const void *X, f77_int incX) 15 | { 16 | f77_int iamax; 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #endif 23 | F77_icamax_sub( &F77_N, (scomplex*)X, &F77_incX, &iamax); 24 | return iamax ? iamax-1 : 0; 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_izamax.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_izamax.c 5 | * 6 | * The program is a C interface to izamax. 7 | * It calls the fortran wrapper before calling izamax. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | f77_int cblas_izamax( f77_int N, const void *X, f77_int incX) 15 | { 16 | f77_int iamax; 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #endif 23 | F77_izamax_sub( &F77_N, (dcomplex*)X, &F77_incX, &iamax); 24 | return (iamax ? iamax-1 : 0); 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_caxpy.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_caxpy.c 5 | * 6 | * The program is a C interface to caxpy. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_caxpy( f77_int N, const void *alpha, const void *X, 14 | f77_int incX, void *Y, f77_int incY) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #define F77_incY incY 22 | #endif 23 | F77_caxpy( &F77_N, (scomplex*)alpha, (scomplex*)X, &F77_incX, (scomplex*)Y, &F77_incY); 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_zaxpy.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_zaxpy.c 5 | * 6 | * The program is a C interface to zaxpy. 7 | * 8 | * Written by Keita Teranishi. 2/11/1998 9 | * 10 | */ 11 | #include "cblas.h" 12 | #include "cblas_f77.h" 13 | void cblas_zaxpy( f77_int N, const void *alpha, const void *X, 14 | f77_int incX, void *Y, f77_int incY) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_N N 20 | #define F77_incX incX 21 | #define F77_incY incY 22 | #endif 23 | F77_zaxpy( &F77_N, (dcomplex*)alpha, (dcomplex*)X, &F77_incX, (dcomplex*)Y, &F77_incY); 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_saxpy.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_saxpy.c 5 | * 6 | * The program is a C interface to saxpy. 7 | * It calls the fortran wrapper before calling saxpy. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | void cblas_saxpy( f77_int N, float alpha, const float *X, 15 | f77_int incX, float *Y, f77_int incY) 16 | { 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #define F77_incY incY 23 | #endif 24 | F77_saxpy( &F77_N, &alpha, X, &F77_incX, Y, &F77_incY); 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /kernels/power7/3/test/blis_utest.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef _BLIS_UTEST_H_ 3 | #define _BLIS_UTEST_H_ 4 | 5 | #define BLIS_DEFAULT_MR_S 8 6 | #define BLIS_DEFAULT_NR_S 4 7 | 8 | #define BLIS_DEFAULT_MR_D 8 9 | #define BLIS_DEFAULT_NR_D 4 10 | 11 | #define BLIS_DEFAULT_MR_C 8 12 | #define BLIS_DEFAULT_NR_C 4 13 | 14 | #define BLIS_DEFAULT_MR_Z 8 15 | #define BLIS_DEFAULT_NR_Z 4 16 | 17 | typedef unsigned long dim_t; 18 | typedef long inc_t; 19 | 20 | // Complex types 21 | typedef struct scomplex_s 22 | { 23 | float real; 24 | float imag; 25 | } scomplex; 26 | 27 | typedef struct dcomplex_s 28 | { 29 | double real; 30 | double imag; 31 | } dcomplex; 32 | 33 | #define bli_check_error_code(x) 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_sdot.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_sdot.c 5 | * 6 | * The program is a C interface to sdot. 7 | * It calls the fortran wrapper before calling sdot. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | float cblas_sdot( f77_int N, const float *X, 15 | f77_int incX, const float *Y, f77_int incY) 16 | { 17 | float dot; 18 | #ifdef F77_INT 19 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 20 | #else 21 | #define F77_N N 22 | #define F77_incX incX 23 | #define F77_incY incY 24 | #endif 25 | F77_sdot_sub( &F77_N, X, &F77_incX, Y, &F77_incY, &dot); 26 | return dot; 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_ddot.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_ddot.c 5 | * 6 | * The program is a C interface to ddot. 7 | * It calls the fortran wrapper before calling ddot. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | double cblas_ddot( f77_int N, const double *X, 15 | f77_int incX, const double *Y, f77_int incY) 16 | { 17 | double dot; 18 | #ifdef F77_INT 19 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 20 | #else 21 | #define F77_N N 22 | #define F77_incX incX 23 | #define F77_incY incY 24 | #endif 25 | F77_ddot_sub( &F77_N, X, &F77_incX, Y, &F77_incY, &dot); 26 | return dot; 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_dsdot.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_dsdot.c 5 | * 6 | * The program is a C interface to dsdot. 7 | * It calls fthe fortran wrapper before calling dsdot. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | double cblas_dsdot( f77_int N, const float *X, 15 | f77_int incX, const float *Y, f77_int incY) 16 | { 17 | double dot; 18 | #ifdef F77_INT 19 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 20 | #else 21 | #define F77_N N 22 | #define F77_incX incX 23 | #define F77_incY incY 24 | #endif 25 | F77_dsdot_sub( &F77_N, X, &F77_incX, Y, &F77_incY, &dot); 26 | return dot; 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /kernels/generic/generic.txt: -------------------------------------------------------------------------------- 1 | 2 | generic.txt 3 | ----------- 4 | 5 | This file in 'kernels/generic' exists only to force 'git' to track what 6 | would otherwise be an empty directory. Having this empty directory is 7 | necessary because the 'generic' singleton family is defined in the 8 | configuration registry as: 9 | 10 | generic: generic 11 | 12 | which implies that the 'generic' sub-configuration depends on the 13 | 'generic' kernel set (because there were no complementary kernel sets 14 | specified via '/'). Thus, we need there to be a kernel set named 15 | 'generic', but we don't actually refer to any such kernels in BLIS. 16 | In other words, this file is simply a workaround to a quirk in the 17 | syntax and semantics of the config_registry file. 18 | 19 | -FGVZ 20 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_cdotc_sub.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_cdotc_sub.c 5 | * 6 | * The program is a C interface to cdotc. 7 | * It calls the fortran wrapper before calling cdotc. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | void cblas_cdotc_sub( f77_int N, const void *X, f77_int incX, 15 | const void *Y, f77_int incY,void *dotc) 16 | { 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #define F77_incY incY 23 | #endif 24 | F77_cdotc_sub( &F77_N, (scomplex*)X, &F77_incX, (scomplex*)Y, &F77_incY, (scomplex*)dotc); 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_cdotu_sub.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_cdotu_sub.f 5 | * 6 | * The program is a C interface to cdotu. 7 | * It calls the forteran wrapper before calling cdotu. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | void cblas_cdotu_sub( f77_int N, const void *X, 15 | f77_int incX, const void *Y, f77_int incY,void *dotu) 16 | { 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #define F77_incY incY 23 | #endif 24 | F77_cdotu_sub( &F77_N, (scomplex*)X, &F77_incX, (scomplex*)Y, &F77_incY, (scomplex*)dotu); 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /sandbox/power10/p10_testsuite/Makefile: -------------------------------------------------------------------------------- 1 | BLIS_PATH := ../../.. 2 | 3 | BLIS_INC := $(BLIS_PATH)/include/power10 4 | BLIS_LIB := $(BLIS_PATH)/lib/power10/libblis.a 5 | 6 | CC := gcc 7 | LINKER := $(CC) 8 | 9 | CFLAGS := -I $(BLIS_INC) 10 | LDFLAGS := -lpthread -lm 11 | 12 | OBJS := $(patsubst %.c,%.o, $(wildcard *.c)) 13 | PERF_OBJS := performance.o 14 | COR_OBJS := correctness.o cast_funcs.o 15 | 16 | all: performance correctness 17 | 18 | $(OBJS): %.o: %.c 19 | $(CC) $(CFLAGS) -c $< -o $@ 20 | 21 | performance: $(PERF_OBJS) 22 | $(LINKER) $(PERF_OBJS) $(BLIS_LIB) -o ./gather_perf.x $(LDFLAGS) 23 | 24 | correctness: $(COR_OBJS) 25 | $(LINKER) $(COR_OBJS) $(BLIS_LIB) -o ./test_correctness.x $(LDFLAGS) 26 | 27 | csv_clean: 28 | rm -rf *.csv 29 | 30 | clean: 31 | rm -rf *.x *.o -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_zdotc_sub.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_zdotc_sub.c 5 | * 6 | * The program is a C interface to zdotc. 7 | * It calls the fortran wrapper before calling zdotc. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | void cblas_zdotc_sub( f77_int N, const void *X, f77_int incX, 15 | const void *Y, f77_int incY, void *dotc) 16 | { 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #define F77_incY incY 23 | #endif 24 | F77_zdotc_sub( &F77_N, (dcomplex*)X, &F77_incX, (dcomplex*)Y, &F77_incY, (dcomplex*)dotc); 25 | return; 26 | } 27 | #endif 28 | -------------------------------------------------------------------------------- /test/runme.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | exec_root="test" 4 | out_root="output" 5 | #out_root="output_square" 6 | 7 | # Operations to test. 8 | l2_ops="gemv ger hemv her her2 trmv trsv" 9 | l3_ops="gemm hemm herk her2k trmm trsm" 10 | test_ops="${l2_ops} ${l3_ops}" 11 | 12 | # Implementations to test. 13 | #test_impls="openblas mkl blis" 14 | test_impls="blis" 15 | 16 | for im in ${test_impls}; do 17 | 18 | for op in ${test_ops}; do 19 | 20 | # Construct the name of the test executable. 21 | exec_name="${exec_root}_${op}_${im}.x" 22 | 23 | # Construct the name of the output file. 24 | out_file="${out_root}_${op}_${im}.m" 25 | 26 | echo "Running ${exec_name} > ${out_file}" 27 | 28 | # Run executable. 29 | ./${exec_name} > ${out_file} 30 | 31 | sleep 1 32 | 33 | done 34 | done 35 | -------------------------------------------------------------------------------- /test/studies/skx/plot_skx_perf.m: -------------------------------------------------------------------------------- 1 | fontsize = 6; 2 | numcores = 4; 3 | freq = 3.5; 4 | sflopspercycle = 64; 5 | dflopspercycle = 32; 6 | 7 | speak = sflopspercycle*freq; 8 | dpeak = dflopspercycle*freq; 9 | 10 | xmax_mt = 5000; 11 | 12 | fig1 = figure(1); 13 | clf(fig1) 14 | % 15 | pathname = './20180711/'; 16 | plot_gemm_st_perf 17 | plot_syrk_st_perf 18 | plot_hemm_st_perf 19 | plot_trmm_st_perf 20 | 21 | fig1.PaperPositionMode = 'auto'; 22 | orient(fig1,'landscape') 23 | print(fig1, 'skx-st', '-dpdf','-fillpage') 24 | 25 | % fig1 = figure(2); 26 | % clf; 27 | % 28 | % plot_gemm_mt_perf 29 | % plot_syrk_mt_perf 30 | % plot_hemm_mt_perf 31 | % plot_trmm_mt_perf 32 | % 33 | % fig1.PaperPositionMode = 'auto'; 34 | % orient(fig1,'landscape') 35 | % print(fig1, 'A57-mt', '-dpdf','-fillpage') 36 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_sdsdot.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_sdsdot.c 5 | * 6 | * The program is a C interface to sdsdot. 7 | * It calls the fortran wrapper before calling sdsdot. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | float cblas_sdsdot( f77_int N, float alpha, const float *X, 15 | f77_int incX, const float *Y, f77_int incY) 16 | { 17 | float dot; 18 | #ifdef F77_INT 19 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 20 | #else 21 | #define F77_N N 22 | #define F77_incX incX 23 | #define F77_incY incY 24 | #endif 25 | F77_sdsdot_sub( &F77_N, &alpha, X, &F77_incX, Y, &F77_incY, &dot); 26 | return dot; 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_zdotu_sub.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_zdotu_sub.c 5 | * 6 | * The program is a C interface to zdotu. 7 | * It calls the fortran wrapper before calling zdotu. 8 | * 9 | * Written by Keita Teranishi. 2/11/1998 10 | * 11 | */ 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | void cblas_zdotu_sub( f77_int N, const void *X, f77_int incX, 15 | const void *Y, f77_int incY, void *dotu) 16 | { 17 | #ifdef F77_INT 18 | F77_INT F77_N=N, F77_incX=incX, F77_incY=incY; 19 | #else 20 | #define F77_N N 21 | #define F77_incX incX 22 | #define F77_incY incY 23 | #endif 24 | F77_zdotu_sub( &F77_N, (dcomplex*)X, &F77_incX, (dcomplex*)Y, &F77_incY, (dcomplex*)dotu); 25 | return; 26 | } 27 | #endif 28 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Current MD file explains this port of BLIS to Apple's matrix coprocessor. 2 | 3 | - Here is the original BLIS [README](README_BLIS.md). 4 | 5 | As of Jul., 2021, the coprocessor is undocumented but not protected either. (Any user / program is allowed to invoke this coprocessor and it's supposed to be safe.) This work is based on Dougall Johnson's effort on analyzing the related instructions. 6 | 7 | Known issues: 8 | - Generic-strided is not supported by our microkernels for the destination matrix. Program would `assert(false)` upon encountering such a situation. 9 | - TRSM might fail. Try commenting out function call to `bli_cntx_set_packm_kers` in `config/aaplmx/bli_cntx_init_aaplmx.c` if your need TRSM to work. 10 | 11 | Performance: 12 | 13 | ![](docs/graphs/aaplmx/output_st_dgemm_asm_blis.png) 14 | ![](docs/graphs/aaplmx/output_st_sgemm_asm_blis.png) 15 | 16 | -------------------------------------------------------------------------------- /sandbox/appleamx2/old/amx_testsuite/Makefile: -------------------------------------------------------------------------------- 1 | BLIS_PATH := ../../../.. 2 | 3 | -include $(BLIS_PATH)/config.mk 4 | 5 | INC_PATH = $(BLIS_PATH)/include/$(CONFIG_NAME) 6 | LIBBLIS_L = $(BLIS_PATH)/lib/$(CONFIG_NAME)/libblis.a 7 | 8 | LINKER := $(CC) 9 | CFLAGS := -I $(INC_PATH) 10 | LDFLAGS := -lpthread -lm 11 | 12 | OBJS := $(patsubst %.c,%.o, $(wildcard *.c)) 13 | PERF_OBJS := performance.o 14 | COR_OBJS := correctness.o 15 | 16 | all: performance correctness 17 | 18 | $(OBJS): %.o: %.c %.h common.h ../../bli_sandbox.h $(INC_PATH)/blis.h 19 | $(CC) $(CFLAGS) -c $< -o $@ 20 | 21 | performance: $(PERF_OBJS) 22 | $(LINKER) $(PERF_OBJS) $(LIBBLIS_L) -o ./gather_perf.x $(LDFLAGS) 23 | 24 | correctness: $(COR_OBJS) 25 | $(LINKER) $(COR_OBJS) $(LIBBLIS_L) -o ./test_correctness.x $(LDFLAGS) 26 | 27 | csv_clean: 28 | rm -rf *.csv 29 | 30 | clean: 31 | rm -rf *.x *.o 32 | -------------------------------------------------------------------------------- /config/README.md: -------------------------------------------------------------------------------- 1 | 2 | For more information on sub-configurations and configuration families in BLIS, 3 | please read the Configuration Guide, which can be viewed in markdown-rendered 4 | form [from the BLIS wiki page](https://github.com/flame/blis/wiki/). 5 | 6 | If you don't have time, or are impatient, take a look at the `config_registry` 7 | file in the top-level directory of the BLIS distribution. It contains a 8 | grammar-like mapping of configuration names, or families, to sub-configurations, 9 | which may be other families. Keep in mind that the `/` notation: 10 | ``` 11 | : / 12 | ``` 13 | means that the kernel set associated with `` should be made available to 14 | the configuration `` if `` is targeted at configure-time. 15 | (Some configurations borrow kernels from other configurations, and this is how 16 | we specify that requirement.) 17 | 18 | -------------------------------------------------------------------------------- /INSTALL: -------------------------------------------------------------------------------- 1 | 2 | BLIS framework 3 | INSTALL 4 | --- 5 | 6 | For a detailed description of how to configure, compile, install, and link 7 | to a BLIS library on your local system, please read the build system 8 | documentation located in: 9 | 10 | docs/BuildSystem.md 11 | 12 | Note that the document's markdown content can be conveniently rendered by 13 | viewing the file over GitHub via a web browser: 14 | 15 | https://github.com/flame/blis/blob/master/docs/BuildSystem.md 16 | 17 | This document will always contain the most up-to-date information related 18 | to instantiating a BLIS library from the framework source code. If you have 19 | any further questions or wish to provide feedback, please contact the BLIS 20 | community by posting your message to the BLIS developer's mailing list: 21 | 22 | https://groups.google.com/d/forum/blis-devel 23 | 24 | Thanks for your interest in the BLIS framework! 25 | 26 | Field Van Zee 27 | 28 | -------------------------------------------------------------------------------- /test/mixeddt/matlab/plot_dom_all.m: -------------------------------------------------------------------------------- 1 | function r_val = plot_dom_all( cfreq, ... 2 | dflopspercycle, ... 3 | nth, ... 4 | dirpath, ... 5 | dirpath_out, ... 6 | arch_str ) 7 | 8 | cases( 1, : ) = [ 'rrr' ]; 9 | cases( 2, : ) = [ 'rrc' ]; 10 | cases( 3, : ) = [ 'rcr' ]; 11 | cases( 4, : ) = [ 'rcc' ]; 12 | cases( 5, : ) = [ 'crr' ]; 13 | cases( 6, : ) = [ 'crc' ]; 14 | cases( 7, : ) = [ 'ccr' ]; 15 | cases( 8, : ) = [ 'ccc' ]; 16 | 17 | n_cases = size(cases,1); 18 | 19 | for i = 1:n_cases 20 | 21 | thecase = cases( i, : ); 22 | 23 | plot_dom_case( thecase, ... 24 | cfreq, ... 25 | dflopspercycle, ... 26 | nth, ... 27 | dirpath, ... 28 | dirpath_out, ... 29 | arch_str ); 30 | end 31 | 32 | r_val = 0; 33 | 34 | end 35 | -------------------------------------------------------------------------------- /blastest/input/dblat3.in: -------------------------------------------------------------------------------- 1 | 'out.dblat3' NAME OF SUMMARY OUTPUT FILE 2 | 6 UNIT NUMBER OF SUMMARY FILE 3 | 'DBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE 4 | -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) 5 | F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. 6 | F LOGICAL FLAG, T TO STOP ON FAILURES. 7 | T LOGICAL FLAG, T TO TEST ERROR EXITS. 8 | 16.0 THRESHOLD VALUE OF TEST RATIO 9 | 6 NUMBER OF VALUES OF N 10 | 0 1 2 3 5 9 VALUES OF N 11 | 3 NUMBER OF VALUES OF ALPHA 12 | 0.0 1.0 0.7 VALUES OF ALPHA 13 | 3 NUMBER OF VALUES OF BETA 14 | 0.0 1.0 1.3 VALUES OF BETA 15 | DGEMM T PUT F FOR NO TEST. SAME COLUMNS. 16 | DSYMM T PUT F FOR NO TEST. SAME COLUMNS. 17 | DTRMM T PUT F FOR NO TEST. SAME COLUMNS. 18 | DTRSM T PUT F FOR NO TEST. SAME COLUMNS. 19 | DSYRK T PUT F FOR NO TEST. SAME COLUMNS. 20 | DSYR2K T PUT F FOR NO TEST. SAME COLUMNS. 21 | -------------------------------------------------------------------------------- /blastest/input/sblat3.in: -------------------------------------------------------------------------------- 1 | 'out.sblat3' NAME OF SUMMARY OUTPUT FILE 2 | 6 UNIT NUMBER OF SUMMARY FILE 3 | 'SBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE 4 | -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) 5 | F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. 6 | F LOGICAL FLAG, T TO STOP ON FAILURES. 7 | T LOGICAL FLAG, T TO TEST ERROR EXITS. 8 | 16.0 THRESHOLD VALUE OF TEST RATIO 9 | 6 NUMBER OF VALUES OF N 10 | 0 1 2 3 5 9 VALUES OF N 11 | 3 NUMBER OF VALUES OF ALPHA 12 | 0.0 1.0 0.7 VALUES OF ALPHA 13 | 3 NUMBER OF VALUES OF BETA 14 | 0.0 1.0 1.3 VALUES OF BETA 15 | SGEMM T PUT F FOR NO TEST. SAME COLUMNS. 16 | SSYMM T PUT F FOR NO TEST. SAME COLUMNS. 17 | STRMM T PUT F FOR NO TEST. SAME COLUMNS. 18 | STRSM T PUT F FOR NO TEST. SAME COLUMNS. 19 | SSYRK T PUT F FOR NO TEST. SAME COLUMNS. 20 | SSYR2K T PUT F FOR NO TEST. SAME COLUMNS. 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # -- generic files to ignore -- 2 | 3 | # emacs backup files 4 | *~ 5 | # vim backup files 6 | *.swp 7 | # NFS file 8 | .nfs* 9 | 10 | # -- compiler-related -- 11 | 12 | # object files 13 | # NOTE: This will result in git also exluding the top-level obj directory 14 | # since its only contents are .o files. 15 | *.o 16 | # static library archives 17 | # NOTE: This will result in git also exluding the top-level lib directory 18 | # since its only contents are .a files. 19 | *.a 20 | *.so 21 | *.so.* 22 | # test executables 23 | *.x 24 | *.pexe 25 | *.nexe 26 | *.js 27 | # link map files 28 | *.map 29 | 30 | # -- build system files -- 31 | 32 | config.mk 33 | bli_config.h 34 | 35 | # -- monolithic headers -- 36 | 37 | include/*/*.h 38 | 39 | # -- makefile fragments -- 40 | 41 | .fragment.mk 42 | 43 | # -- misc. -- 44 | 45 | # BLIS testsuite output file 46 | output.testsuite.* 47 | 48 | # BLAS test output files 49 | out.* 50 | 51 | # GTAGS database 52 | GPATH 53 | GRTAGS 54 | GTAGS 55 | -------------------------------------------------------------------------------- /vendor/testcpp/test.sh: -------------------------------------------------------------------------------- 1 | 2 | echo Build BLIS CPP Template tests 3 | make clean 4 | make 5 | 6 | echo Run tests 7 | ./test_asum_blis.x 8 | ./test_axpy_blis.x 9 | ./test_copy_blis.x 10 | ./test_dot_blis.x 11 | ./test_dotc_blis.x 12 | ./test_gbmv_blis.x 13 | ./test_gemm_blis.x 14 | ./test_gemv_blis.x 15 | ./test_ger_blis.x 16 | ./test_gerc_blis.x 17 | ./test_geru_blis.x 18 | ./test_hemm_blis.x 19 | ./test_hemv_blis.x 20 | ./test_her2_blis.x 21 | ./test_her_blis.x 22 | ./test_herk_blis.x 23 | ./test_hpr2_blis.x 24 | ./test_hpr_blis.x 25 | ./test_nrm2_blis.x 26 | ./test_rot_blis.x 27 | ./test_rotg_blis.x 28 | ./test_rotm_blis.x 29 | ./test_rotmg_blis.x 30 | ./test_scal_blis.x 31 | ./test_sdsdot_blis.x 32 | ./test_spr2_blis.x 33 | ./test_spr_blis.x 34 | ./test_swap_blis.x 35 | ./test_symm_blis.x 36 | ./test_syr2_blis.x 37 | ./test_syr2k_blis.x 38 | ./test_syr_blis.x 39 | ./test_syrk_blis.x 40 | ./test_tbmv_blis.x 41 | ./test_tbsv_blis.x 42 | ./test_tpmv_blis.x 43 | ./test_tpsv_blis.x 44 | ./test_trmm_blis.x 45 | ./test_trsm_blis.x 46 | ./test_trsv_blis.x 47 | -------------------------------------------------------------------------------- /test/mixeddt/matlab/wawoxmem/plot_dom_all.m: -------------------------------------------------------------------------------- 1 | function r_val = plot_dom_all( cfreq, ... 2 | dflopspercycle, ... 3 | nth, ... 4 | dirpath_w, ... 5 | dirpath_wo, ... 6 | dirpath_out, ... 7 | arch_str ) 8 | 9 | cases( 1, : ) = [ 'rrr' ]; 10 | cases( 2, : ) = [ 'rrc' ]; 11 | cases( 3, : ) = [ 'rcr' ]; 12 | cases( 4, : ) = [ 'rcc' ]; 13 | cases( 5, : ) = [ 'crr' ]; 14 | cases( 6, : ) = [ 'crc' ]; 15 | cases( 7, : ) = [ 'ccr' ]; 16 | cases( 8, : ) = [ 'ccc' ]; 17 | 18 | n_cases = size(cases,1); 19 | 20 | for i = 1:n_cases 21 | 22 | thecase = cases( i, : ); 23 | 24 | plot_dom_case( thecase, ... 25 | cfreq, ... 26 | dflopspercycle, ... 27 | nth, ... 28 | dirpath_w, ... 29 | dirpath_wo, ... 30 | dirpath_out, ... 31 | arch_str ); 32 | end 33 | 34 | r_val = 0; 35 | 36 | end 37 | -------------------------------------------------------------------------------- /blastest/input/cblat3.in: -------------------------------------------------------------------------------- 1 | 'out.cblat3' NAME OF SUMMARY OUTPUT FILE 2 | 6 UNIT NUMBER OF SUMMARY FILE 3 | 'CBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE 4 | -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) 5 | F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. 6 | F LOGICAL FLAG, T TO STOP ON FAILURES. 7 | T LOGICAL FLAG, T TO TEST ERROR EXITS. 8 | 16.0 THRESHOLD VALUE OF TEST RATIO 9 | 6 NUMBER OF VALUES OF N 10 | 0 1 2 3 5 9 VALUES OF N 11 | 3 NUMBER OF VALUES OF ALPHA 12 | (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA 13 | 3 NUMBER OF VALUES OF BETA 14 | (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA 15 | CGEMM T PUT F FOR NO TEST. SAME COLUMNS. 16 | CHEMM T PUT F FOR NO TEST. SAME COLUMNS. 17 | CSYMM T PUT F FOR NO TEST. SAME COLUMNS. 18 | CTRMM T PUT F FOR NO TEST. SAME COLUMNS. 19 | CTRSM T PUT F FOR NO TEST. SAME COLUMNS. 20 | CHERK T PUT F FOR NO TEST. SAME COLUMNS. 21 | CSYRK T PUT F FOR NO TEST. SAME COLUMNS. 22 | CHER2K T PUT F FOR NO TEST. SAME COLUMNS. 23 | CSYR2K T PUT F FOR NO TEST. SAME COLUMNS. 24 | -------------------------------------------------------------------------------- /blastest/input/zblat3.in: -------------------------------------------------------------------------------- 1 | 'out.zblat3' NAME OF SUMMARY OUTPUT FILE 2 | 6 UNIT NUMBER OF SUMMARY FILE 3 | 'ZBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE 4 | -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) 5 | F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. 6 | F LOGICAL FLAG, T TO STOP ON FAILURES. 7 | T LOGICAL FLAG, T TO TEST ERROR EXITS. 8 | 16.0 THRESHOLD VALUE OF TEST RATIO 9 | 6 NUMBER OF VALUES OF N 10 | 0 1 2 3 5 9 VALUES OF N 11 | 3 NUMBER OF VALUES OF ALPHA 12 | (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA 13 | 3 NUMBER OF VALUES OF BETA 14 | (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA 15 | ZGEMM T PUT F FOR NO TEST. SAME COLUMNS. 16 | ZHEMM T PUT F FOR NO TEST. SAME COLUMNS. 17 | ZSYMM T PUT F FOR NO TEST. SAME COLUMNS. 18 | ZTRMM T PUT F FOR NO TEST. SAME COLUMNS. 19 | ZTRSM T PUT F FOR NO TEST. SAME COLUMNS. 20 | ZHERK T PUT F FOR NO TEST. SAME COLUMNS. 21 | ZSYRK T PUT F FOR NO TEST. SAME COLUMNS. 22 | ZHER2K T PUT F FOR NO TEST. SAME COLUMNS. 23 | ZSYR2K T PUT F FOR NO TEST. SAME COLUMNS. 24 | -------------------------------------------------------------------------------- /test/mixeddt/matlab/testrand.m: -------------------------------------------------------------------------------- 1 | fig1 = figure(1); 2 | clf; 3 | 4 | %orient(fig1,'landscape') 5 | orient(gcf,'landscape') 6 | 7 | for i = 1:128 8 | subplot(8,16,i); 9 | xx = 400:400:2000; 10 | aa = rand(size(xx)); 11 | plot(xx,aa); 12 | end 13 | 14 | % broken. 15 | if 0 16 | set(gcf, 'PaperUnits', 'inches'); 17 | set(gcf, 'PaperSize', [60 36]); 18 | set(fig1,'PaperUnits','normalized'); 19 | set(fig1,'PaperPosition', [0 0 1 1]); 20 | print(fig1, 'testrand', '-dpdf'); 21 | end 22 | 23 | if 0 24 | % works okay. 25 | set(gcf,'PaperUnits', 'inches'); 26 | set(gcf,'PaperSize', [72 36]); 27 | set(gcf,'PaperPositionMode','auto'); 28 | set(gcf,'PaperOrientation','landscape'); 29 | set(gcf,'Position',[50 50 4000 1800]); 30 | print(gcf, 'testrand','-bestfit','-dpdf'); 31 | end 32 | 33 | if 1 34 | % works better? 35 | set(gcf,'Position',[0 0 2000 900]); 36 | set(gcf,'PaperUnits', 'inches'); 37 | set(gcf,'PaperSize', [48 22]); 38 | set(gcf,'PaperPosition', [0 0 48 22]); 39 | %set(gcf,'PaperPositionMode','auto'); 40 | set(gcf,'PaperPositionMode','manual'); 41 | set(gcf,'PaperOrientation','landscape'); 42 | print(gcf, 'testrand','-bestfit','-dpdf'); 43 | end 44 | 45 | -------------------------------------------------------------------------------- /test/sup/old/supst/octave/gen_opsupnames.m: -------------------------------------------------------------------------------- 1 | function [ r_val1, r_val2 ] = gen_opsupnames( ops, stor, smalldims ) 2 | 3 | nops = size( ops, 1 ); 4 | 5 | smallm = smalldims( 1 ); 6 | smalln = smalldims( 2 ); 7 | smallk = smalldims( 3 ); 8 | 9 | i = 1; 10 | 11 | for io = 1:nops 12 | 13 | op = ops( io, : ); 14 | 15 | opsupnames( i+0, : ) = sprintf( '%s_%s_m%dnpkp', op, stor, smallm ); 16 | opsupnames( i+1, : ) = sprintf( '%s_%s_mpn%dkp', op, stor, smalln ); 17 | opsupnames( i+2, : ) = sprintf( '%s_%s_mpnpk%d', op, stor, smallk ); 18 | opsupnames( i+3, : ) = sprintf( '%s_%s_mpn%dk%d', op, stor, smalln, smallk ); 19 | opsupnames( i+4, : ) = sprintf( '%s_%s_m%dnpk%d', op, stor, smallm, smallk ); 20 | opsupnames( i+5, : ) = sprintf( '%s_%s_m%dn%dkp', op, stor, smallm, smalln ); 21 | opsupnames( i+6, : ) = sprintf( '%s_%s_mpnpkp', op, stor ); 22 | 23 | opnames( i+0, : ) = sprintf( '%s', op ); 24 | opnames( i+1, : ) = sprintf( '%s', op ); 25 | opnames( i+2, : ) = sprintf( '%s', op ); 26 | opnames( i+3, : ) = sprintf( '%s', op ); 27 | opnames( i+4, : ) = sprintf( '%s', op ); 28 | opnames( i+5, : ) = sprintf( '%s', op ); 29 | opnames( i+6, : ) = sprintf( '%s', op ); 30 | 31 | i = i + 7; 32 | end 33 | 34 | r_val1 = opsupnames; 35 | r_val2 = opnames; 36 | 37 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_sger.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * 5 | * cblas_sger.c 6 | * This program is a C interface to sger. 7 | * Written by Keita Teranishi 8 | * 4/6/1998 9 | * 10 | */ 11 | 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | void cblas_sger(enum CBLAS_ORDER order, f77_int M, f77_int N, 15 | const float alpha, const float *X, f77_int incX, 16 | const float *Y, f77_int incY, float *A, f77_int lda) 17 | { 18 | #ifdef F77_INT 19 | F77_INT F77_M=M, F77_N=N, F77_lda=lda, F77_incX=incX, F77_incY=incY; 20 | #else 21 | #define F77_M M 22 | #define F77_N N 23 | #define F77_incX incX 24 | #define F77_incY incY 25 | #define F77_lda lda 26 | #endif 27 | 28 | extern int CBLAS_CallFromC; 29 | extern int RowMajorStrg; 30 | RowMajorStrg = 0; 31 | 32 | CBLAS_CallFromC = 1; 33 | if (order == CblasColMajor) 34 | { 35 | F77_sger( &F77_M, &F77_N, &alpha, X, &F77_incX, Y, &F77_incY, A, 36 | &F77_lda); 37 | } 38 | else if (order == CblasRowMajor) 39 | { 40 | RowMajorStrg = 1; 41 | F77_sger( &F77_N, &F77_M, &alpha, Y, &F77_incY, X, &F77_incX, A, 42 | &F77_lda); 43 | } 44 | else cblas_xerbla(1, "cblas_sger", "Illegal Order setting, %d\n", order); 45 | CBLAS_CallFromC = 0; 46 | RowMajorStrg = 0; 47 | return; 48 | } 49 | #endif 50 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_dger.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * 5 | * cblas_dger.c 6 | * This program is a C interface to dger. 7 | * Written by Keita Teranishi 8 | * 4/6/1998 9 | * 10 | */ 11 | 12 | #include "cblas.h" 13 | #include "cblas_f77.h" 14 | void cblas_dger(enum CBLAS_ORDER order, f77_int M, f77_int N, 15 | double alpha, const double *X, f77_int incX, 16 | const double *Y, f77_int incY, double *A, f77_int lda) 17 | { 18 | #ifdef F77_INT 19 | F77_INT F77_M=M, F77_N=N, F77_lda=lda, F77_incX=incX, F77_incY=incY; 20 | #else 21 | #define F77_M M 22 | #define F77_N N 23 | #define F77_incX incX 24 | #define F77_incY incY 25 | #define F77_lda lda 26 | #endif 27 | 28 | extern int CBLAS_CallFromC; 29 | extern int RowMajorStrg; 30 | RowMajorStrg = 0; 31 | 32 | CBLAS_CallFromC = 1; 33 | if (order == CblasColMajor) 34 | { 35 | F77_dger( &F77_M, &F77_N, &alpha, X, &F77_incX, Y, &F77_incY, A, 36 | &F77_lda); 37 | } 38 | else if (order == CblasRowMajor) 39 | { 40 | RowMajorStrg = 1; 41 | F77_dger( &F77_N, &F77_M ,&alpha, Y, &F77_incY, X, &F77_incX, A, 42 | &F77_lda); 43 | 44 | } 45 | else cblas_xerbla(1, "cblas_dger", "Illegal Order setting, %d\n", order); 46 | CBLAS_CallFromC = 0; 47 | RowMajorStrg = 0; 48 | return; 49 | } 50 | #endif 51 | -------------------------------------------------------------------------------- /test/sup/old/octave_st/gen_opsupnames.m: -------------------------------------------------------------------------------- 1 | function [ r_val1, r_val2 ] = gen_opsupnames( ops, stor, smalldims, ldim, pack ) 2 | 3 | nops = size( ops, 1 ); 4 | 5 | smallm = smalldims( 1 ); 6 | smalln = smalldims( 2 ); 7 | smallk = smalldims( 3 ); 8 | 9 | i = 1; 10 | 11 | for io = 1:nops 12 | 13 | op = ops( io, : ); 14 | 15 | opsupnames( i+0, : ) = sprintf( '%s_%s_m%dnpkp_%s_%s', op, stor, smallm, ldim, pack ); 16 | opsupnames( i+1, : ) = sprintf( '%s_%s_mpn%dkp_%s_%s', op, stor, smalln, ldim, pack ); 17 | opsupnames( i+2, : ) = sprintf( '%s_%s_mpnpk%d_%s_%s', op, stor, smallk, ldim, pack ); 18 | opsupnames( i+3, : ) = sprintf( '%s_%s_mpn%dk%d_%s_%s', op, stor, smalln, smallk, ldim, pack ); 19 | opsupnames( i+4, : ) = sprintf( '%s_%s_m%dnpk%d_%s_%s', op, stor, smallm, smallk, ldim, pack ); 20 | opsupnames( i+5, : ) = sprintf( '%s_%s_m%dn%dkp_%s_%s', op, stor, smallm, smalln, ldim, pack ); 21 | opsupnames( i+6, : ) = sprintf( '%s_%s_mpnpkp_%s_%s', op, stor, ldim, pack ); 22 | 23 | opnames( i+0, : ) = sprintf( '%s', op ); 24 | opnames( i+1, : ) = sprintf( '%s', op ); 25 | opnames( i+2, : ) = sprintf( '%s', op ); 26 | opnames( i+3, : ) = sprintf( '%s', op ); 27 | opnames( i+4, : ) = sprintf( '%s', op ); 28 | opnames( i+5, : ) = sprintf( '%s', op ); 29 | opnames( i+6, : ) = sprintf( '%s', op ); 30 | 31 | i = i + 7; 32 | end 33 | 34 | r_val1 = opsupnames; 35 | r_val2 = opnames; 36 | 37 | -------------------------------------------------------------------------------- /RELEASING: -------------------------------------------------------------------------------- 1 | Here are the steps to follow to create a new release (version) of BLIS: 2 | 3 | 1. Make sure there are no commits that have yet to be pulled into 4 | local repository. 5 | 6 | $ git pull 7 | 8 | If there are any commits upstream, merge them as appropriate. 9 | 10 | 2. Verify that the code builds properly. 11 | 12 | $ ./configure auto; make 13 | 14 | 3. Verify that the code passes BLIS and BLAS tests: 15 | 16 | $ make check # BLIS testsuite (fast) + BLAS test drivers 17 | $ make checkblis # BLIS testsuite (full ex. mixed-datatype) 18 | $ make checkblis-md # BLIS testsuite (mixed-datatype only) 19 | $ make checkblis-salt # BLIS testsuite (fast + salt) 20 | 21 | 4. Draft a new announcement to blis-devel, crediting those who 22 | contributed towards this version by browsing 'git log'. 23 | 24 | 5. Update CREDITS file if 'git log' reveals any new contributors. 25 | 26 | 6. Update docs/ReleaseNotes.md file with body of finalized announcement 27 | and the date of the release. 28 | 29 | 7. Commit changes from steps 5 and 6. 30 | 31 | 8. Bump the version number: 32 | 33 | $ ./build/bump-version.sh "0.3.2" 34 | 35 | This will result in two new commits: a version file update and a CHANGELOG 36 | file update. 37 | 38 | 9. Push the new commits and new tag associated with the new version: 39 | 40 | $ git push 41 | $ git push --tag 42 | 43 | 10. Send finalized announcement to blis-devel. 44 | 45 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_zgeru.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_zgeru.c 5 | * The program is a C interface to zgeru. 6 | * 7 | * Keita Teranishi 5/20/98 8 | * 9 | */ 10 | #include "cblas.h" 11 | #include "cblas_f77.h" 12 | void cblas_zgeru(enum CBLAS_ORDER order, f77_int M, f77_int N, 13 | const void *alpha, const void *X, f77_int incX, 14 | const void *Y, f77_int incY, void *A, f77_int lda) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_M=M, F77_N=N, F77_lda=lda, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_M M 20 | #define F77_N N 21 | #define F77_incX incX 22 | #define F77_incY incY 23 | #define F77_lda lda 24 | #endif 25 | 26 | extern int CBLAS_CallFromC; 27 | extern int RowMajorStrg; 28 | RowMajorStrg = 0; 29 | CBLAS_CallFromC = 1; 30 | 31 | if (order == CblasColMajor) 32 | { 33 | F77_zgeru( &F77_M, &F77_N, (dcomplex*)alpha, (dcomplex*)X, &F77_incX, (dcomplex*)Y, &F77_incY, (dcomplex*)A, 34 | &F77_lda); 35 | } 36 | else if (order == CblasRowMajor) 37 | { 38 | RowMajorStrg = 1; 39 | F77_zgeru( &F77_N, &F77_M, (dcomplex*)alpha, (dcomplex*)Y, &F77_incY, (dcomplex*)X, &F77_incX, (dcomplex*)A, 40 | &F77_lda); 41 | } 42 | else cblas_xerbla(1, "cblas_zgeru", "Illegal Order setting, %d\n", order); 43 | CBLAS_CallFromC = 0; 44 | RowMajorStrg = 0; 45 | return; 46 | } 47 | #endif 48 | -------------------------------------------------------------------------------- /frame/compat/cblas/src/cblas_cgeru.c: -------------------------------------------------------------------------------- 1 | #include "blis.h" 2 | #ifdef BLIS_ENABLE_CBLAS 3 | /* 4 | * cblas_cgeru.c 5 | * The program is a C interface to cgeru. 6 | * 7 | * Keita Teranishi 5/20/98 8 | * 9 | */ 10 | #include "cblas.h" 11 | #include "cblas_f77.h" 12 | void cblas_cgeru(enum CBLAS_ORDER order, f77_int M, f77_int N, 13 | const void *alpha, const void *X, f77_int incX, 14 | const void *Y, f77_int incY, void *A, f77_int lda) 15 | { 16 | #ifdef F77_INT 17 | F77_INT F77_M=M, F77_N=N, F77_lda=lda, F77_incX=incX, F77_incY=incY; 18 | #else 19 | #define F77_M M 20 | #define F77_N N 21 | #define F77_incX incX 22 | #define F77_incY incY 23 | #define F77_lda lda 24 | #endif 25 | 26 | extern int CBLAS_CallFromC; 27 | extern int RowMajorStrg; 28 | RowMajorStrg = 0; 29 | 30 | CBLAS_CallFromC = 1; 31 | 32 | if (order == CblasColMajor) 33 | { 34 | F77_cgeru( &F77_M, &F77_N, (scomplex*)alpha, (scomplex*)X, &F77_incX, (scomplex*)Y, &F77_incY, (scomplex*)A, 35 | &F77_lda); 36 | } 37 | else if (order == CblasRowMajor) 38 | { 39 | RowMajorStrg = 1; 40 | F77_cgeru( &F77_N, &F77_M, (scomplex*)alpha, (scomplex*)Y, &F77_incY, (scomplex*)X, &F77_incX, (scomplex*)A, 41 | &F77_lda); 42 | } 43 | else cblas_xerbla(1, "cblas_cgeru","Illegal Order setting, %d\n", order); 44 | CBLAS_CallFromC = 0; 45 | RowMajorStrg = 0; 46 | return; 47 | } 48 | #endif 49 | -------------------------------------------------------------------------------- /blastest/f2c/i_len.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | Copyright 1990 - 1997 by AT&T, Lucent Technologies and Bellcore. 3 | 4 | Permission to use, copy, modify, and distribute this software 5 | and its documentation for any purpose and without fee is hereby 6 | granted, provided that the above copyright notice appear in all 7 | copies and that both that the copyright notice and this 8 | permission notice and warranty disclaimer appear in supporting 9 | documentation, and that the names of AT&T, Bell Laboratories, 10 | Lucent or Bellcore or any of their entities not be used in 11 | advertising or publicity pertaining to distribution of the 12 | software without specific, written prior permission. 13 | 14 | AT&T, Lucent and Bellcore disclaim all warranties with regard to 15 | this software, including all implied warranties of 16 | merchantability and fitness. In no event shall AT&T, Lucent or 17 | Bellcore be liable for any special, indirect or consequential 18 | damages or any damages whatsoever resulting from loss of use, 19 | data or profits, whether in an action of contract, negligence or 20 | other tortious action, arising out of or in connection with the 21 | use or performance of this software. 22 | ****************************************************************/ 23 | 24 | #include "f2c.h" 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | integer i_len(const char *s, ftnlen n) 31 | { 32 | return(n); 33 | } 34 | 35 | #ifdef __cplusplus 36 | } 37 | #endif 38 | -------------------------------------------------------------------------------- /blastest/f2c/dolio.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | Copyright 1990 - 1997 by AT&T, Lucent Technologies and Bellcore. 3 | 4 | Permission to use, copy, modify, and distribute this software 5 | and its documentation for any purpose and without fee is hereby 6 | granted, provided that the above copyright notice appear in all 7 | copies and that both that the copyright notice and this 8 | permission notice and warranty disclaimer appear in supporting 9 | documentation, and that the names of AT&T, Bell Laboratories, 10 | Lucent or Bellcore or any of their entities not be used in 11 | advertising or publicity pertaining to distribution of the 12 | software without specific, written prior permission. 13 | 14 | AT&T, Lucent and Bellcore disclaim all warranties with regard to 15 | this software, including all implied warranties of 16 | merchantability and fitness. In no event shall AT&T, Lucent or 17 | Bellcore be liable for any special, indirect or consequential 18 | damages or any damages whatsoever resulting from loss of use, 19 | data or profits, whether in an action of contract, negligence or 20 | other tortious action, arising out of or in connection with the 21 | use or performance of this software. 22 | ****************************************************************/ 23 | 24 | #include 25 | #include "f2c.h" 26 | #include "fio.h" 27 | 28 | integer do_lio(ftnint *type, ftnint *number, char *ptr, ftnlen len) 29 | { 30 | return((*f__lioproc)(number,ptr,len,*type)); 31 | } 32 | -------------------------------------------------------------------------------- /blastest/f2c/i_dnnt.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | Copyright 1990 - 1997 by AT&T, Lucent Technologies and Bellcore. 3 | 4 | Permission to use, copy, modify, and distribute this software 5 | and its documentation for any purpose and without fee is hereby 6 | granted, provided that the above copyright notice appear in all 7 | copies and that both that the copyright notice and this 8 | permission notice and warranty disclaimer appear in supporting 9 | documentation, and that the names of AT&T, Bell Laboratories, 10 | Lucent or Bellcore or any of their entities not be used in 11 | advertising or publicity pertaining to distribution of the 12 | software without specific, written prior permission. 13 | 14 | AT&T, Lucent and Bellcore disclaim all warranties with regard to 15 | this software, including all implied warranties of 16 | merchantability and fitness. In no event shall AT&T, Lucent or 17 | Bellcore be liable for any special, indirect or consequential 18 | damages or any damages whatsoever resulting from loss of use, 19 | data or profits, whether in an action of contract, negligence or 20 | other tortious action, arising out of or in connection with the 21 | use or performance of this software. 22 | ****************************************************************/ 23 | 24 | #include "f2c.h" 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | integer i_dnnt(const doublereal *x) 31 | { 32 | return (integer)round(*x); 33 | } 34 | 35 | #ifdef __cplusplus 36 | } 37 | #endif 38 | -------------------------------------------------------------------------------- /blastest/f2c/h_dnnt.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | Copyright 1990 - 1997 by AT&T, Lucent Technologies and Bellcore. 3 | 4 | Permission to use, copy, modify, and distribute this software 5 | and its documentation for any purpose and without fee is hereby 6 | granted, provided that the above copyright notice appear in all 7 | copies and that both that the copyright notice and this 8 | permission notice and warranty disclaimer appear in supporting 9 | documentation, and that the names of AT&T, Bell Laboratories, 10 | Lucent or Bellcore or any of their entities not be used in 11 | advertising or publicity pertaining to distribution of the 12 | software without specific, written prior permission. 13 | 14 | AT&T, Lucent and Bellcore disclaim all warranties with regard to 15 | this software, including all implied warranties of 16 | merchantability and fitness. In no event shall AT&T, Lucent or 17 | Bellcore be liable for any special, indirect or consequential 18 | damages or any damages whatsoever resulting from loss of use, 19 | data or profits, whether in an action of contract, negligence or 20 | other tortious action, arising out of or in connection with the 21 | use or performance of this software. 22 | ****************************************************************/ 23 | 24 | #include "f2c.h" 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | shortint h_dnnt(const doublereal *x) 31 | { 32 | return (shortint)round(*x); 33 | } 34 | 35 | #ifdef __cplusplus 36 | } 37 | #endif 38 | -------------------------------------------------------------------------------- /test/3/octave/read_data.m: -------------------------------------------------------------------------------- 1 | function data = read_data ... 2 | ( ... 3 | filetemp, ... 4 | dirpath, ... 5 | var_templ, ... 6 | thr_str, ... 7 | opname, ... 8 | impl_str ... 9 | ) 10 | 11 | % Construct the full filepath for the data file from the template. 12 | filepath = sprintf( filetemp, dirpath, thr_str, opname ); 13 | 14 | % Attempt to open the file. 15 | fid = fopen( filepath ); 16 | 17 | if fid == -1 18 | % If the file was not opened successfully, it's probably because 19 | % the file is missing altogether. In these sitautions, we set the 20 | % first element of the data to -1, which will be a signal to the 21 | % plotting function to omit this curve from the graph. 22 | data(1,1) = -1; 23 | else 24 | % If the file was opened successfully, we assume that it either 25 | % contains valid data, or it adheres to the "missing data" format 26 | % whereby the (1,1) element contains -1. In either case, we can 27 | % process it normally and we begin by closing the file since we 28 | % don't need the file descriptor. 29 | fclose( fid ); 30 | 31 | % Load the data file. 32 | run( filepath ) 33 | 34 | % Construct variable names for the variables in the data file. 35 | % Examples: data_st_dgemm_asm_blis 36 | % data_1s_zherk_vendor 37 | var_name = sprintf( var_templ, thr_str, opname, impl_str ); 38 | 39 | % Use eval() to instantiate the variable names constructed above, 40 | % copying each to a simplified name. 41 | data = eval( var_name ); 42 | end 43 | 44 | % Return the 'data' variable. 45 | -------------------------------------------------------------------------------- /blastest/f2c/prod.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | Copyright 1990 - 1997 by AT&T, Lucent Technologies and Bellcore. 3 | 4 | Permission to use, copy, modify, and distribute this software 5 | and its documentation for any purpose and without fee is hereby 6 | granted, provided that the above copyright notice appear in all 7 | copies and that both that the copyright notice and this 8 | permission notice and warranty disclaimer appear in supporting 9 | documentation, and that the names of AT&T, Bell Laboratories, 10 | Lucent or Bellcore or any of their entities not be used in 11 | advertising or publicity pertaining to distribution of the 12 | software without specific, written prior permission. 13 | 14 | AT&T, Lucent and Bellcore disclaim all warranties with regard to 15 | this software, including all implied warranties of 16 | merchantability and fitness. In no event shall AT&T, Lucent or 17 | Bellcore be liable for any special, indirect or consequential 18 | damages or any damages whatsoever resulting from loss of use, 19 | data or profits, whether in an action of contract, negligence or 20 | other tortious action, arising out of or in connection with the 21 | use or performance of this software. 22 | ****************************************************************/ 23 | 24 | #include "f2c.h" 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | double d_prod(const real *x, const real *y) 31 | { 32 | return( (double)(*x) * (double)(*y) ); 33 | } 34 | 35 | #ifdef __cplusplus 36 | } 37 | #endif 38 | -------------------------------------------------------------------------------- /blastest/f2c/imag.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | Copyright 1990 - 1997 by AT&T, Lucent Technologies and Bellcore. 3 | 4 | Permission to use, copy, modify, and distribute this software 5 | and its documentation for any purpose and without fee is hereby 6 | granted, provided that the above copyright notice appear in all 7 | copies and that both that the copyright notice and this 8 | permission notice and warranty disclaimer appear in supporting 9 | documentation, and that the names of AT&T, Bell Laboratories, 10 | Lucent or Bellcore or any of their entities not be used in 11 | advertising or publicity pertaining to distribution of the 12 | software without specific, written prior permission. 13 | 14 | AT&T, Lucent and Bellcore disclaim all warranties with regard to 15 | this software, including all implied warranties of 16 | merchantability and fitness. In no event shall AT&T, Lucent or 17 | Bellcore be liable for any special, indirect or consequential 18 | damages or any damages whatsoever resulting from loss of use, 19 | data or profits, whether in an action of contract, negligence or 20 | other tortious action, arising out of or in connection with the 21 | use or performance of this software. 22 | ****************************************************************/ 23 | 24 | #include "f2c.h" 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | double r_imag(complex *z) 31 | { 32 | return z->i; 33 | } 34 | double d_imag(const doublecomplex *z) 35 | { 36 | return z->i; 37 | } 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | -------------------------------------------------------------------------------- /sandbox/power10/p10_testsuite/performance.h: -------------------------------------------------------------------------------- 1 | 2 | // function name template 3 | // each function that will gather perform will be named test_api 4 | #define GEN_PERF_FUNC_NAME_(ch) test_ ## ch ## api 5 | #define GEN_PERF_FUNC_NAME(ch) GEN_PERF_FUNC_NAME_(ch) 6 | 7 | /* 8 | Macro template for getting the best GEMM kernel runtime out of `num_runs` 9 | for matrices of size (m x n x k). 10 | */ 11 | #define GET_PERF_API_TEMP(ch, kernel, input_t, output_t) \ 12 | double GEN_PERF_FUNC_NAME(ch) ( \ 13 | int num_runs, \ 14 | int m, \ 15 | int n, \ 16 | int k \ 17 | ) \ 18 | { \ 19 | input_t *A,*B; \ 20 | output_t *C; \ 21 | output_t alpha,beta; \ 22 | \ 23 | A = (input_t*) malloc(m*k*sizeof(input_t)); \ 24 | B = (input_t*) malloc(n*k*sizeof(input_t)); \ 25 | C = (output_t*) malloc(m*n*sizeof(output_t)); \ 26 | \ 27 | alpha = 1; \ 28 | beta = 1; \ 29 | \ 30 | double best = 1e9; \ 31 | \ 32 | for (int irep=0; irepapi 4 | #define GEN_PERF_FUNC_NAME_(ch) test_ ## ch ## api 5 | #define GEN_PERF_FUNC_NAME(ch) GEN_PERF_FUNC_NAME_(ch) 6 | 7 | /* 8 | Macro template for getting the best GEMM kernel runtime out of `num_runs` 9 | for matrices of size (m x n x k). 10 | */ 11 | #define GET_PERF_API_TEMP(ch, kernel, input_t, output_t) \ 12 | double GEN_PERF_FUNC_NAME(ch) ( \ 13 | int num_runs, \ 14 | int m, \ 15 | int n, \ 16 | int k \ 17 | ) \ 18 | { \ 19 | input_t *A,*B; \ 20 | output_t *C; \ 21 | output_t alpha,beta; \ 22 | \ 23 | A = (input_t*) malloc(m*k*sizeof(input_t)); \ 24 | B = (input_t*) malloc(n*k*sizeof(input_t)); \ 25 | C = (output_t*) malloc(m*n*sizeof(output_t)); \ 26 | \ 27 | alpha = 1; \ 28 | beta = 0; \ 29 | \ 30 | double best = 1e9; \ 31 | \ 32 | for (int irep=0; irep0) ? floor(*x) : -floor(- *x) ); 33 | } 34 | double r_int(real *x) 35 | { 36 | return( (*x>0) ? floor(*x) : -floor(- *x) ); 37 | } 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | -------------------------------------------------------------------------------- /config_registry: -------------------------------------------------------------------------------- 1 | # 2 | # config_registry 3 | # 4 | # Please refer to the BLIS wiki on configurations for information on the 5 | # syntax and semantics of this file [1]. 6 | # 7 | # [1] https://github.com/flame/blis/blob/master/docs/ConfigurationHowTo.md 8 | # 9 | 10 | # Processor families. 11 | x86_64: intel64 amd64 12 | intel64: skx knl haswell sandybridge penryn generic 13 | amd64: zen2 zen excavator steamroller piledriver bulldozer generic 14 | # NOTE: ARM families will remain disabled until runtime hardware detection 15 | # logic is added to BLIS. 16 | # NOTE: Additionally, Apple processors cannot be detected. Hence no 17 | # auto-detection code is hereby written for A14 or M1. 18 | #arm64: cortexa57 generic 19 | #arm32: cortexa15 cortexa9 generic 20 | 21 | # Intel architectures. 22 | skx: skx/skx/haswell/zen 23 | knl: knl/knl/haswell/zen 24 | haswell: haswell/haswell/zen 25 | sandybridge: sandybridge 26 | penryn: penryn 27 | 28 | # AMD architectures. 29 | zen2: zen2/zen2/zen/haswell 30 | zen: zen/zen/haswell 31 | excavator: excavator/piledriver 32 | steamroller: steamroller/piledriver 33 | piledriver: piledriver 34 | bulldozer: bulldozer 35 | 36 | # ARM architectures. 37 | armsve: armsve/armsve 38 | a64fx: a64fx/armsve 39 | aaplmx: aaplmx/armv8a/aaplmx 40 | thunderx2: thunderx2/armv8a 41 | cortexa57: cortexa57/armv8a 42 | cortexa53: cortexa53/armv8a 43 | cortexa15: cortexa15/armv7a 44 | cortexa9: cortexa9/armv7a 45 | 46 | # IBM architectures. 47 | power10: power10 48 | power9: power9 49 | bgq: bgq 50 | 51 | # Generic architectures. 52 | generic: generic 53 | -------------------------------------------------------------------------------- /blastest/input/cblat2.in: -------------------------------------------------------------------------------- 1 | 'out.cblat2' NAME OF SUMMARY OUTPUT FILE 2 | 6 UNIT NUMBER OF SUMMARY FILE 3 | 'CBLA2T.SNAP' NAME OF SNAPSHOT OUTPUT FILE 4 | -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) 5 | F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. 6 | F LOGICAL FLAG, T TO STOP ON FAILURES. 7 | T LOGICAL FLAG, T TO TEST ERROR EXITS. 8 | 16.0 THRESHOLD VALUE OF TEST RATIO 9 | 6 NUMBER OF VALUES OF N 10 | 0 1 2 3 5 9 VALUES OF N 11 | 4 NUMBER OF VALUES OF K 12 | 0 1 2 4 VALUES OF K 13 | 4 NUMBER OF VALUES OF INCX AND INCY 14 | 1 2 -1 -2 VALUES OF INCX AND INCY 15 | 3 NUMBER OF VALUES OF ALPHA 16 | (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA 17 | 3 NUMBER OF VALUES OF BETA 18 | (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA 19 | CGEMV T PUT F FOR NO TEST. SAME COLUMNS. 20 | CGBMV T PUT F FOR NO TEST. SAME COLUMNS. 21 | CHEMV T PUT F FOR NO TEST. SAME COLUMNS. 22 | CHBMV T PUT F FOR NO TEST. SAME COLUMNS. 23 | CHPMV T PUT F FOR NO TEST. SAME COLUMNS. 24 | CTRMV T PUT F FOR NO TEST. SAME COLUMNS. 25 | CTBMV T PUT F FOR NO TEST. SAME COLUMNS. 26 | CTPMV T PUT F FOR NO TEST. SAME COLUMNS. 27 | CTRSV T PUT F FOR NO TEST. SAME COLUMNS. 28 | CTBSV T PUT F FOR NO TEST. SAME COLUMNS. 29 | CTPSV T PUT F FOR NO TEST. SAME COLUMNS. 30 | CGERC T PUT F FOR NO TEST. SAME COLUMNS. 31 | CGERU T PUT F FOR NO TEST. SAME COLUMNS. 32 | CHER T PUT F FOR NO TEST. SAME COLUMNS. 33 | CHPR T PUT F FOR NO TEST. SAME COLUMNS. 34 | CHER2 T PUT F FOR NO TEST. SAME COLUMNS. 35 | CHPR2 T PUT F FOR NO TEST. SAME COLUMNS. 36 | -------------------------------------------------------------------------------- /blastest/input/zblat2.in: -------------------------------------------------------------------------------- 1 | 'out.zblat2' NAME OF SUMMARY OUTPUT FILE 2 | 6 UNIT NUMBER OF SUMMARY FILE 3 | 'CBLA2T.SNAP' NAME OF SNAPSHOT OUTPUT FILE 4 | -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) 5 | F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. 6 | F LOGICAL FLAG, T TO STOP ON FAILURES. 7 | T LOGICAL FLAG, T TO TEST ERROR EXITS. 8 | 16.0 THRESHOLD VALUE OF TEST RATIO 9 | 6 NUMBER OF VALUES OF N 10 | 0 1 2 3 5 9 VALUES OF N 11 | 4 NUMBER OF VALUES OF K 12 | 0 1 2 4 VALUES OF K 13 | 4 NUMBER OF VALUES OF INCX AND INCY 14 | 1 2 -1 -2 VALUES OF INCX AND INCY 15 | 3 NUMBER OF VALUES OF ALPHA 16 | (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA 17 | 3 NUMBER OF VALUES OF BETA 18 | (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA 19 | ZGEMV T PUT F FOR NO TEST. SAME COLUMNS. 20 | ZGBMV T PUT F FOR NO TEST. SAME COLUMNS. 21 | ZHEMV T PUT F FOR NO TEST. SAME COLUMNS. 22 | ZHBMV T PUT F FOR NO TEST. SAME COLUMNS. 23 | ZHPMV T PUT F FOR NO TEST. SAME COLUMNS. 24 | ZTRMV T PUT F FOR NO TEST. SAME COLUMNS. 25 | ZTBMV T PUT F FOR NO TEST. SAME COLUMNS. 26 | ZTPMV T PUT F FOR NO TEST. SAME COLUMNS. 27 | ZTRSV T PUT F FOR NO TEST. SAME COLUMNS. 28 | ZTBSV T PUT F FOR NO TEST. SAME COLUMNS. 29 | ZTPSV T PUT F FOR NO TEST. SAME COLUMNS. 30 | ZGERC T PUT F FOR NO TEST. SAME COLUMNS. 31 | ZGERU T PUT F FOR NO TEST. SAME COLUMNS. 32 | ZHER T PUT F FOR NO TEST. SAME COLUMNS. 33 | ZHPR T PUT F FOR NO TEST. SAME COLUMNS. 34 | ZHER2 T PUT F FOR NO TEST. SAME COLUMNS. 35 | ZHPR2 T PUT F FOR NO TEST. SAME COLUMNS. 36 | -------------------------------------------------------------------------------- /test/mixeddt/matlab/plot_all.m: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | % skx 16 | 17 | plot_dom_all(2.0,32,1,'../../skx/st', '../../skx/st_noxmem', '../../skx/st_merged', 'skx_t1');close all;clear all 18 | plot_dom_all(2.0,32,26,'../../skx/jc2ic13','../../skx/jc2ic13_noxmem','../../skx/jc2ic13_merged','skx_t26');close all;clear all 19 | plot_dom_all(2.0,32,52,'../../skx/jc4ic13','../../skx/jc4ic13_noxmem','../../skx/jc4ic13_merged','skx_t52');close all;clear all 20 | 21 | plot_dt_select(2.0,32,1,'../../skx/st', '../../skx/st_noxmem', '../../skx/st_merged', 'skx_t1');close all;clear all 22 | plot_dt_select(2.0,32,26,'../../skx/jc2ic13','../../skx/jc2ic13_noxmem','../../skx/jc2ic13_merged','skx_t26');close all;clear all 23 | plot_dt_select(2.0,32,52,'../../skx/jc4ic13','../../skx/jc4ic13_noxmem','../../skx/jc4ic13_merged','skx_t52');close all;clear all 24 | 25 | % tx2 26 | 27 | plot_dom_all(2.2,8,1,'../../tx2/st', '../../tx2/st_noxmem', '../../tx2/st_merged', 'tx2_t1');close all;clear all 28 | plot_dom_all(2.2,8,28,'../../tx2/jc4ic7','../../tx2/jc4ic7_noxmem','../../tx2/jc4ic7_merged','tx2_t28');close all;clear all 29 | plot_dom_all(2.2,8,56,'../../tx2/jc8ic7','../../tx2/jc8ic7_noxmem','../../tx2/jc8ic7_merged','tx2_t56');close all;clear all 30 | 31 | plot_dt_select(2.2,8,1,'../../tx2/st', '../../tx2/st_noxmem', '../../tx2/st_merged', 'tx2_t1');close all;clear all 32 | plot_dt_select(2.2,8,28,'../../tx2/jc4ic7','../../tx2/jc4ic7_noxmem','../../tx2/jc4ic7_merged','tx2_t28');close all;clear all 33 | plot_dt_select(2.2,8,56,'../../tx2/jc8ic7','../../tx2/jc8ic7_noxmem','../../tx2/jc8ic7_merged','tx2_t56');close all;clear all 34 | -------------------------------------------------------------------------------- /blastest/f2c/exit_.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | Copyright 1990 - 1997 by AT&T, Lucent Technologies and Bellcore. 3 | 4 | Permission to use, copy, modify, and distribute this software 5 | and its documentation for any purpose and without fee is hereby 6 | granted, provided that the above copyright notice appear in all 7 | copies and that both that the copyright notice and this 8 | permission notice and warranty disclaimer appear in supporting 9 | documentation, and that the names of AT&T, Bell Laboratories, 10 | Lucent or Bellcore or any of their entities not be used in 11 | advertising or publicity pertaining to distribution of the 12 | software without specific, written prior permission. 13 | 14 | AT&T, Lucent and Bellcore disclaim all warranties with regard to 15 | this software, including all implied warranties of 16 | merchantability and fitness. In no event shall AT&T, Lucent or 17 | Bellcore be liable for any special, indirect or consequential 18 | damages or any damages whatsoever resulting from loss of use, 19 | data or profits, whether in an action of contract, negligence or 20 | other tortious action, arising out of or in connection with the 21 | use or performance of this software. 22 | ****************************************************************/ 23 | 24 | /* This gives the effect of 25 | 26 | subroutine exit(rc) 27 | integer*4 rc 28 | stop 29 | end 30 | 31 | * with the added side effect of supplying rc as the program's exit code. 32 | */ 33 | 34 | #include 35 | #include "f2c.h" 36 | 37 | #ifdef __cplusplus 38 | extern "C" { 39 | #endif 40 | 41 | void exit_(integer *rc) 42 | { 43 | exit(*rc); 44 | } 45 | 46 | #ifdef __cplusplus 47 | } 48 | #endif 49 | -------------------------------------------------------------------------------- /blastest/f2c/cnjg.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | Copyright 1990 - 1997 by AT&T, Lucent Technologies and Bellcore. 3 | 4 | Permission to use, copy, modify, and distribute this software 5 | and its documentation for any purpose and without fee is hereby 6 | granted, provided that the above copyright notice appear in all 7 | copies and that both that the copyright notice and this 8 | permission notice and warranty disclaimer appear in supporting 9 | documentation, and that the names of AT&T, Bell Laboratories, 10 | Lucent or Bellcore or any of their entities not be used in 11 | advertising or publicity pertaining to distribution of the 12 | software without specific, written prior permission. 13 | 14 | AT&T, Lucent and Bellcore disclaim all warranties with regard to 15 | this software, including all implied warranties of 16 | merchantability and fitness. In no event shall AT&T, Lucent or 17 | Bellcore be liable for any special, indirect or consequential 18 | damages or any damages whatsoever resulting from loss of use, 19 | data or profits, whether in an action of contract, negligence or 20 | other tortious action, arising out of or in connection with the 21 | use or performance of this software. 22 | ****************************************************************/ 23 | 24 | #include "f2c.h" 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | void d_cnjg(doublecomplex *r, const doublecomplex *z) 31 | { 32 | doublereal zi = z->i; 33 | r->r = z->r; 34 | r->i = -zi; 35 | } 36 | void r_cnjg(complex *r, complex *z) 37 | { 38 | real zi = z->i; 39 | r->r = z->r; 40 | r->i = -zi; 41 | } 42 | 43 | #ifdef __cplusplus 44 | } 45 | #endif 46 | -------------------------------------------------------------------------------- /blastest/f2c/sqrt.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | Copyright 1990 - 1997 by AT&T, Lucent Technologies and Bellcore. 3 | 4 | Permission to use, copy, modify, and distribute this software 5 | and its documentation for any purpose and without fee is hereby 6 | granted, provided that the above copyright notice appear in all 7 | copies and that both that the copyright notice and this 8 | permission notice and warranty disclaimer appear in supporting 9 | documentation, and that the names of AT&T, Bell Laboratories, 10 | Lucent or Bellcore or any of their entities not be used in 11 | advertising or publicity pertaining to distribution of the 12 | software without specific, written prior permission. 13 | 14 | AT&T, Lucent and Bellcore disclaim all warranties with regard to 15 | this software, including all implied warranties of 16 | merchantability and fitness. In no event shall AT&T, Lucent or 17 | Bellcore be liable for any special, indirect or consequential 18 | damages or any damages whatsoever resulting from loss of use, 19 | data or profits, whether in an action of contract, negligence or 20 | other tortious action, arising out of or in connection with the 21 | use or performance of this software. 22 | ****************************************************************/ 23 | 24 | #include "f2c.h" 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | double r_sqrt(real *x) 31 | { 32 | return ( sqrt(*x) ); 33 | } 34 | double d_sqrt(const doublereal *x) 35 | { 36 | return ( sqrt(*x) ); 37 | } 38 | void c_sqrt(complex *r, complex *z) 39 | { 40 | } 41 | void z_sqrt(doublecomplex *r, doublecomplex *z) 42 | { 43 | } 44 | 45 | #ifdef __cplusplus 46 | } 47 | #endif 48 | -------------------------------------------------------------------------------- /examples/tapi/README: -------------------------------------------------------------------------------- 1 | 2 | BLIS typed API examples 3 | ----------------------- 4 | 5 | This directory contains several files, each containing various pieces of 6 | example code that demonstrate core functionality of the typed API in BLIS. 7 | These example files should be thought of collectively like a tutorial, and 8 | therefore it is recommended to start from the beginning (the file that 9 | starts in '00'). 10 | 11 | You can build all of the examples by simply running 'make' from this 12 | directory. (You can also run 'make clean'.) The makefile assumes that 13 | you've already configured and built (but not necessarily installed) BLIS 14 | two directories up, in "../..". If you have already installed BLIS to 15 | some permanent directory, you may refer to that installation by setting 16 | the environment variable BLIS_INSTALL_PATH prior to running make: 17 | 18 | export BLIS_INSTALL_PATH=/usr/local; make 19 | 20 | or by setting the same variable as part of the make command: 21 | 22 | make BLIS_INSTALL_PATH=/usr/local 23 | 24 | Once the executable files have been built, we recommend reading the code in 25 | one terminal window alongside the executable output in another terminal. 26 | This will help you see the effects of each section of code. 27 | 28 | This tutorial is not exhaustive or complete; many typed API functions 29 | were omitted (mostly for brevity's sake) and thus more examples could be 30 | written. If you've found typed functionality in BLIS and are unsure how to 31 | use it, or if you are unsure of what additional functionality is present in 32 | BLIS, please feel free to join and then start a discussion on the blis-devel 33 | mailing list [1]. 34 | 35 | Thanks for your interest in BLIS! 36 | 37 | [1] https://groups.google.com/d/forum/blis-devel 38 | 39 | -------------------------------------------------------------------------------- /blastest/f2c/rewind.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | Copyright 1990 - 1997 by AT&T, Lucent Technologies and Bellcore. 3 | 4 | Permission to use, copy, modify, and distribute this software 5 | and its documentation for any purpose and without fee is hereby 6 | granted, provided that the above copyright notice appear in all 7 | copies and that both that the copyright notice and this 8 | permission notice and warranty disclaimer appear in supporting 9 | documentation, and that the names of AT&T, Bell Laboratories, 10 | Lucent or Bellcore or any of their entities not be used in 11 | advertising or publicity pertaining to distribution of the 12 | software without specific, written prior permission. 13 | 14 | AT&T, Lucent and Bellcore disclaim all warranties with regard to 15 | this software, including all implied warranties of 16 | merchantability and fitness. In no event shall AT&T, Lucent or 17 | Bellcore be liable for any special, indirect or consequential 18 | damages or any damages whatsoever resulting from loss of use, 19 | data or profits, whether in an action of contract, negligence or 20 | other tortious action, arising out of or in connection with the 21 | use or performance of this software. 22 | ****************************************************************/ 23 | 24 | //#include 25 | #include "f2c.h" 26 | #include "fio.h" 27 | 28 | integer f_rew(alist *a) 29 | { 30 | unit *b; 31 | if(a->aunit>=MXUNIT || a->aunit<0) 32 | err(a->aerr,101,"rewind"); 33 | b = &f__units[a->aunit]; 34 | if(b->ufd == NULL || b->uwrt == 3) 35 | return(0); 36 | if(!b->useek) 37 | err(a->aerr,106,"rewind") 38 | if(b->uwrt) { 39 | (void) t_runc(a); 40 | b->uwrt = 3; 41 | } 42 | rewind(b->ufd); 43 | b->uend=0; 44 | return 0; 45 | } 46 | -------------------------------------------------------------------------------- /examples/oapi/README: -------------------------------------------------------------------------------- 1 | 2 | BLIS object API examples 3 | ------------------------ 4 | 5 | This directory contains several files, each containing various pieces of 6 | example code that demonstrate core functionality of the object API in BLIS. 7 | These example files should be thought of collectively like a tutorial, and 8 | therefore it is recommended to start from the beginning (the file that 9 | starts in '00'). 10 | 11 | You can build all of the examples by simply running 'make' from this 12 | directory. (You can also run 'make clean'.) The makefile assumes that 13 | you've already configured and built (but not necessarily installed) BLIS 14 | two directories up, in "../..". If you have already installed BLIS to 15 | some permanent directory, you may refer to that installation by setting 16 | the environment variable BLIS_INSTALL_PATH prior to running make: 17 | 18 | export BLIS_INSTALL_PATH=/usr/local; make 19 | 20 | or by setting the same variable as part of the make command: 21 | 22 | make BLIS_INSTALL_PATH=/usr/local 23 | 24 | Once the executable files have been built, we recommend reading the code in 25 | one terminal window alongside the executable output in another terminal. 26 | This will help you see the effects of each section of code. 27 | 28 | This tutorial is not exhaustive or complete; several object API functions 29 | were omitted (mostly for brevity's sake) and thus more examples could be 30 | written. If you've found object functionality in BLIS and are unsure how to 31 | use it, or if you are unsure of what additional functionality is present in 32 | BLIS, please feel free to join and then start a discussion on the blis-devel 33 | mailing list [1]. 34 | 35 | Thanks for your interest in BLIS! 36 | 37 | [1] https://groups.google.com/d/forum/blis-devel 38 | 39 | -------------------------------------------------------------------------------- /frame/include/level0/old/bli_castfrom.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | -------------------------------------------------------------------------------- /frame/include/level0/old/bli_castto.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | -------------------------------------------------------------------------------- /frame/1/other/packv/bli_packv.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | #include "blis.h" 36 | 37 | -------------------------------------------------------------------------------- /frame/1/other/unpackv/bli_unpackv.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | #include "blis.h" 36 | 37 | -------------------------------------------------------------------------------- /frame/3/gemmt/bli_gemmt.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2020, Advanced Micro Devices, Inc. 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | #include "bli_gemmt_front.h" 36 | 37 | -------------------------------------------------------------------------------- /frame/3/hemm/bli_hemm.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | #include "bli_hemm_front.h" 36 | 37 | -------------------------------------------------------------------------------- /frame/3/symm/bli_symm.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | #include "bli_symm_front.h" 36 | 37 | -------------------------------------------------------------------------------- /frame/3/syrk/bli_syrk.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | #include "bli_syrk_front.h" 36 | 37 | -------------------------------------------------------------------------------- /frame/base/bli_string.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | void bli_string_mkupper( char* s ); 36 | -------------------------------------------------------------------------------- /frame/1m/other/bli_scalm.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | #include "bli_scalm_cntl.h" 36 | 37 | -------------------------------------------------------------------------------- /frame/3/her2k/bli_her2k.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | #include "bli_her2k_front.h" 36 | 37 | -------------------------------------------------------------------------------- /frame/3/syr2k/bli_syr2k.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | #include "bli_syr2k_front.h" 36 | 37 | -------------------------------------------------------------------------------- /frame/3/trmm3/bli_trmm3.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | #include "bli_trmm3_front.h" 36 | 37 | -------------------------------------------------------------------------------- /frame/3/herk/bli_herk.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | #include "bli_herk_front.h" 36 | 37 | #include "bli_herk_var.h" 38 | 39 | -------------------------------------------------------------------------------- /frame/3/trmm/bli_trmm.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | #include "bli_trmm_front.h" 36 | 37 | #include "bli_trmm_var.h" 38 | 39 | -------------------------------------------------------------------------------- /frame/base/noopt/bli_dlamch.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | bla_double bli_dlamch( bla_character* cmach, ftnlen cmach_len ); 36 | -------------------------------------------------------------------------------- /frame/base/noopt/bli_slamch.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | bla_real bli_slamch( bla_character* cmach, ftnlen cmach_len ); 36 | -------------------------------------------------------------------------------- /frame/base/bli_const.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | void bli_const_init( void ); 36 | void bli_const_finalize( void ); 37 | 38 | -------------------------------------------------------------------------------- /frame/1m/packm/bli_packm_md.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | BLIS 4 | An object-based framework for developing high-performance BLAS-like 5 | libraries. 6 | 7 | Copyright (C) 2014, The University of Texas at Austin 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are 11 | met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name(s) of the copyright holder(s) nor the names of its 18 | contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | */ 34 | 35 | #include "bli_packm_blk_var1_md.h" 36 | #include "bli_packm_struc_cxk_md.h" 37 | 38 | -------------------------------------------------------------------------------- /blastest/f2c/s_stop.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | Copyright 1990 - 1997 by AT&T, Lucent Technologies and Bellcore. 3 | 4 | Permission to use, copy, modify, and distribute this software 5 | and its documentation for any purpose and without fee is hereby 6 | granted, provided that the above copyright notice appear in all 7 | copies and that both that the copyright notice and this 8 | permission notice and warranty disclaimer appear in supporting 9 | documentation, and that the names of AT&T, Bell Laboratories, 10 | Lucent or Bellcore or any of their entities not be used in 11 | advertising or publicity pertaining to distribution of the 12 | software without specific, written prior permission. 13 | 14 | AT&T, Lucent and Bellcore disclaim all warranties with regard to 15 | this software, including all implied warranties of 16 | merchantability and fitness. In no event shall AT&T, Lucent or 17 | Bellcore be liable for any special, indirect or consequential 18 | damages or any damages whatsoever resulting from loss of use, 19 | data or profits, whether in an action of contract, negligence or 20 | other tortious action, arising out of or in connection with the 21 | use or performance of this software. 22 | ****************************************************************/ 23 | 24 | //#include 25 | #include 26 | #include 27 | #include "f2c.h" 28 | 29 | int s_stop(char *s, ftnlen n) 30 | { 31 | int i; 32 | 33 | if(n > 0) 34 | { 35 | fprintf(stderr, "STOP "); 36 | for(i = 0; i *b ? *a - *b : 0); 33 | } 34 | integer i_dim(const integer *a, const integer *b) 35 | { 36 | return( *a > *b ? *a - *b : 0); 37 | } 38 | double r_dim(real *a, real *b) 39 | { 40 | return( *a > *b ? *a - *b : 0); 41 | } 42 | double d_dim(const doublereal *a, const doublereal *b) 43 | { 44 | return( *a > *b ? *a - *b : 0); 45 | } 46 | 47 | #ifdef __cplusplus 48 | } 49 | #endif 50 | 51 | --------------------------------------------------------------------------------