small optimizations on dgemm_kernel for Piledriver
authorwernsaar <wernsaar@googlemail.com>
Thu, 31 Oct 2013 10:53:26 +0000 (11:53 +0100)
committerwernsaar <wernsaar@googlemail.com>
Thu, 31 Oct 2013 10:53:26 +0000 (11:53 +0100)
kernel/x86_64/KERNEL.PILEDRIVER
kernel/x86_64/dgemm_kernel_8x2_piledriver.S
param.h

index 6c262c7..abed953 100644 (file)
@@ -54,9 +54,10 @@ STRSMKERNEL_LT  =  ../generic/trsm_kernel_LT.c
 STRSMKERNEL_RN  =  ../generic/trsm_kernel_RN.c
 STRSMKERNEL_RT  =  ../generic/trsm_kernel_RT.c
 
+
 DTRSMKERNEL_LN  = ../generic/trsm_kernel_LN.c
-DTRSMKERNEL_LT  = ../generic/trsm_kernel_LT.c
-DTRSMKERNEL_RN  = ../generic/trsm_kernel_RN.c
+DTRSMKERNEL_LT  = dtrsm_kernel_LT_8x2_bulldozer.S
+DTRSMKERNEL_RN  = dtrsm_kernel_RN_8x2_bulldozer.S
 DTRSMKERNEL_RT  = ../generic/trsm_kernel_RT.c
 
 CTRSMKERNEL_LN  = ../generic/trsm_kernel_LN.c
index c719e96..cc0ebef 100644 (file)
@@ -28,37 +28,38 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 /*********************************************************************\r
 *\r
-* 2013/10/18 Saar\r
+* 2013/10/31 Saar\r
 *        BLASTEST               : OK\r
 *        CTEST                  : OK\r
 *        TEST                   : OK\r
 *\r
 *\r
-* 2013/10/18 Saar\r
+* 2013/10/31 Saar\r
 *\r
 * Parameter:\r
 *      UNROLL_M        8\r
 *      UNROLL_N        2\r
-*      DGEMM_P         384\r
+*      DGEMM_P         768\r
 *      DGEMM_Q         168\r
 *      DGEMM_R         12288\r
-*      A_PR1           256\r
+*      A_PR1           512\r
+*      B_PR1           256\r
 *\r
 * Performance at m x n on AMD 8320 (ACML-Version: 5.3.1):\r
 * \r
-* 6144x6912    84.1    GFLOPS with 8 threads on 4 modules (ACML: 81.4 GFLOPS)\r
-* 6144x6912    81.2    GFLOPS with 4 threads on 4 modules (ACML: 81.3 GFLOPS)\r
-* 6144x6912    40.9    GFLOPS with 2 threads on 2 modules (ACML: 41.8 GFLOPS)\r
-* 6144x6912    20.5    GFLOPS with 1 threads on 1 modules (ACML: 21.0 GFLOPS)\r
+* 4608x4608    83.9    GFLOPS with 8 threads on 4 modules (ACML: 78.4 GFLOPS)\r
+* 4608x4608    80.9    GFLOPS with 4 threads on 4 modules (ACML: 78.4 GFLOPS)\r
+* 4608x4608    41.3    GFLOPS with 2 threads on 2 modules (ACML: 40.9 GFLOPS)\r
+* 4608x4608    20.7    GFLOPS with 1 threads on 1 modules (ACML: 20.8 GFLOPS)\r
 *\r
 * Performance at m x n on AMD 6380  (ACML-Version: 5.3.1):\r
 * \r
-* 12288x13824  244.5   GFLOPS with 32 threads on 16 modules (ACML: 120.3 GFLOPS) !strange thermal behavior\r
-* 12288x13824  233.9   GFLOPS with 16 threads on 16 modules (ACML: 129.5 GFLOPS) !strange thermal behavior\r
-* 12288x13824  138.1   GFLOPS with  8 threads on  8 modules (ACML: 106.5 GFLOPS)\r
-* 6144x6912    73.6    GFLOPS with  4 threads on  4 modules (ACML:  59.4 GFLOPS)\r
-* 6144x6912    36.8    GFLOPS with  2 threads on  2 modules (ACML:  34.9 GFLOPS)\r
-* 6144x6912    18.7    GFLOPS with  1 threads on  1 modules (ACML:  18.7 GFLOPS)\r
+* 13824x13824  234.5   GFLOPS with 32 threads on 16 modules (ACML:  88.5 GFLOPS) !strange thermal behavior\r
+* 13824x13824  241.9   GFLOPS with 16 threads on 16 modules (ACML: 191.5 GFLOPS) !strange thermal behavior\r
+* 9216x9216    137.6   GFLOPS with  8 threads on  8 modules (ACML: 106.5 GFLOPS)\r
+* 4608x4608    75.7    GFLOPS with  4 threads on  4 modules (ACML:  56.3 GFLOPS)\r
+* 4608x4608    38.6    GFLOPS with  2 threads on  2 modules (ACML:  34.1 GFLOPS)\r
+* 4608x4608    19.6    GFLOPS with  1 threads on  1 modules (ACML:  18.3 GFLOPS)\r
 *\r
 *********************************************************************/\r
 \r
@@ -168,9 +169,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 \r
 \r
-#define        A_PR1   256\r
+#define        A_PR1   512\r
 #define        B_PR1   256\r
-#define        C_PR1   256\r
+#define        C_PR1   64\r
 \r
 .macro INIT8x3\r
        vxorpd  %xmm4 , %xmm4 , %xmm4\r
@@ -454,9 +455,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .macro SAVE8x3\r
        vmovddup        ALPHA, %xmm0\r
 \r
-       prefetcht0       C_PR1(CO1)\r
-       prefetcht0       C_PR1(CO1,LDC)\r
-       prefetcht0       C_PR1(CO1,LDC,2)\r
 \r
        vfmaddpd         (CO1),%xmm0, %xmm4,%xmm4\r
        vfmaddpd         (CO1, LDC),%xmm0, %xmm5,%xmm5\r
@@ -489,6 +487,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        vmovups %xmm12, 4 * SIZE(CO1, LDC, 2)\r
        vmovups %xmm15, 6 * SIZE(CO1, LDC, 2)\r
 \r
+       prefetcht0       C_PR1(CO1)\r
+       prefetcht0       C_PR1(CO1,LDC)\r
+       prefetcht0       C_PR1(CO1,LDC,2)\r
+\r
        addq    $8 * SIZE, CO1          # coffset += 8\r
 .endm\r
 \r
@@ -1284,6 +1286,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        cmpq    $3, %rax\r
        jl      .L6_13\r
 \r
+       prefetcht0 B_PR1(BO)\r
+       prefetcht0 B_PR1+64(BO)\r
+       prefetcht0 B_PR1+128(BO)\r
        KERNEL8x3_INIT\r
        KERNEL8x3_M2\r
        KERNEL8x3_M3\r
@@ -1299,22 +1304,25 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L6_12:\r
 \r
+       prefetcht0 B_PR1-24(BO)\r
+       prefetcht0 B_PR1+40(BO)\r
        KERNEL8x3_M1\r
        KERNEL8x3_M2\r
        KERNEL8x3_M3\r
        KERNEL8x3_M4\r
        KERNEL8x3_M5\r
+       prefetcht0 B_PR1+104(BO)\r
        KERNEL8x3_M6\r
        KERNEL8x3_M7\r
        KERNEL8x3_M8\r
 \r
        dec     %rax\r
-       //je    .L6_12_E\r
-\r
        jne     .L6_12\r
 \r
 .L6_12_E:\r
 \r
+       prefetcht0 B_PR1(BO)\r
+       prefetcht0 B_PR1+64(BO)\r
        KERNEL8x3_M1\r
        KERNEL8x3_M2\r
        KERNEL8x3_M3\r
@@ -1432,31 +1440,25 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L6_22:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x3_1(xxx)\r
        KERNEL4x3_2(xxx)\r
        KERNEL4x3_3(xxx)\r
-       //prefetcht0    B_PR1+64(BO,BI,8)\r
        KERNEL4x3_4(xxx)\r
 \r
        KERNEL4x3_1(xxx)\r
        KERNEL4x3_2(xxx)\r
-       //prefetcht0    B_PR1+32(BO,BI,8)\r
        KERNEL4x3_3(xxx)\r
        KERNEL4x3_4(xxx)\r
 \r
        je      .L6_26\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x3_1(xxx)\r
        KERNEL4x3_2(xxx)\r
        KERNEL4x3_3(xxx)\r
-       //prefetcht0    B_PR1+64(BO,BI,8)\r
        KERNEL4x3_4(xxx)\r
 \r
        KERNEL4x3_1(xxx)\r
        KERNEL4x3_2(xxx)\r
-       //prefetcht0    B_PR1+32(BO,BI,8)\r
        KERNEL4x3_3(xxx)\r
        KERNEL4x3_4(xxx)\r
 \r
@@ -1548,31 +1550,25 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L6_32:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL2x3_1(xxx)\r
        KERNEL2x3_2(xxx)\r
        KERNEL2x3_3(xxx)\r
-       //prefetcht0    B_PR1+64(BO,BI,8)\r
        KERNEL2x3_4(xxx)\r
 \r
        KERNEL2x3_1(xxx)\r
        KERNEL2x3_2(xxx)\r
-       //prefetcht0    B_PR1+32(BO,BI,8)\r
        KERNEL2x3_3(xxx)\r
        KERNEL2x3_4(xxx)\r
 \r
        je      .L6_36\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL2x3_1(xxx)\r
        KERNEL2x3_2(xxx)\r
        KERNEL2x3_3(xxx)\r
-       //prefetcht0    B_PR1+64(BO,BI,8)\r
        KERNEL2x3_4(xxx)\r
 \r
        KERNEL2x3_1(xxx)\r
        KERNEL2x3_2(xxx)\r
-       //prefetcht0    B_PR1+32(BO,BI,8)\r
        KERNEL2x3_3(xxx)\r
        KERNEL2x3_4(xxx)\r
 \r
@@ -1651,31 +1647,25 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L6_42:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x3_1(xxx)\r
        KERNEL1x3_2(xxx)\r
        KERNEL1x3_3(xxx)\r
-       //prefetcht0    B_PR1+64(BO,BI,8)\r
        KERNEL1x3_4(xxx)\r
 \r
        KERNEL1x3_1(xxx)\r
        KERNEL1x3_2(xxx)\r
-       //prefetcht0    B_PR1+32(BO,BI,8)\r
        KERNEL1x3_3(xxx)\r
        KERNEL1x3_4(xxx)\r
 \r
        je      .L6_46\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x3_1(xxx)\r
        KERNEL1x3_2(xxx)\r
        KERNEL1x3_3(xxx)\r
-       //prefetcht0    B_PR1+64(BO,BI,8)\r
        KERNEL1x3_4(xxx)\r
 \r
        KERNEL1x3_1(xxx)\r
        KERNEL1x3_2(xxx)\r
-       //prefetcht0    B_PR1+32(BO,BI,8)\r
        KERNEL1x3_3(xxx)\r
        KERNEL1x3_4(xxx)\r
 \r
@@ -1753,6 +1743,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        cmpq    $3, %rax\r
        jl      .L7_13\r
 \r
+       prefetcht0 B_PR1(BO)\r
+       prefetcht0 B_PR1+64(BO)\r
+       prefetcht0 B_PR1+128(BO)\r
        KERNEL8x3_INIT\r
        KERNEL8x3_M2\r
        KERNEL8x3_M3\r
@@ -1768,22 +1761,25 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L7_12:\r
 \r
+       prefetcht0 B_PR1-24(BO)\r
+       prefetcht0 B_PR1+40(BO)\r
        KERNEL8x3_M1\r
        KERNEL8x3_M2\r
        KERNEL8x3_M3\r
        KERNEL8x3_M4\r
+       prefetcht0 B_PR1+104(BO)\r
        KERNEL8x3_M5\r
        KERNEL8x3_M6\r
        KERNEL8x3_M7\r
        KERNEL8x3_M8\r
 \r
        dec     %rax\r
-       //je    .L7_12_E\r
-\r
        jne     .L7_12\r
 \r
 .L7_12_E:\r
 \r
+       prefetcht0 B_PR1(BO)\r
+       prefetcht0 B_PR1+64(BO)\r
        KERNEL8x3_M1\r
        KERNEL8x3_M2\r
        KERNEL8x3_M3\r
@@ -1904,31 +1900,25 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L7_22:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x3_1(xxx)\r
        KERNEL4x3_2(xxx)\r
        KERNEL4x3_3(xxx)\r
-       //prefetcht0    B_PR1+64(BO,BI,8)\r
        KERNEL4x3_4(xxx)\r
 \r
        KERNEL4x3_1(xxx)\r
        KERNEL4x3_2(xxx)\r
-       //prefetcht0    B_PR1+32(BO,BI,8)\r
        KERNEL4x3_3(xxx)\r
        KERNEL4x3_4(xxx)\r
 \r
        je      .L7_26\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x3_1(xxx)\r
        KERNEL4x3_2(xxx)\r
        KERNEL4x3_3(xxx)\r
-       //prefetcht0    B_PR1+64(BO,BI,8)\r
        KERNEL4x3_4(xxx)\r
 \r
        KERNEL4x3_1(xxx)\r
        KERNEL4x3_2(xxx)\r
-       //prefetcht0    B_PR1+32(BO,BI,8)\r
        KERNEL4x3_3(xxx)\r
        KERNEL4x3_4(xxx)\r
 \r
@@ -2019,31 +2009,25 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L7_32:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL2x3_1(xxx)\r
        KERNEL2x3_2(xxx)\r
        KERNEL2x3_3(xxx)\r
-       //prefetcht0    B_PR1+64(BO,BI,8)\r
        KERNEL2x3_4(xxx)\r
 \r
        KERNEL2x3_1(xxx)\r
        KERNEL2x3_2(xxx)\r
-       //prefetcht0    B_PR1+32(BO,BI,8)\r
        KERNEL2x3_3(xxx)\r
        KERNEL2x3_4(xxx)\r
 \r
        je      .L7_36\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL2x3_1(xxx)\r
        KERNEL2x3_2(xxx)\r
        KERNEL2x3_3(xxx)\r
-       //prefetcht0    B_PR1+64(BO,BI,8)\r
        KERNEL2x3_4(xxx)\r
 \r
        KERNEL2x3_1(xxx)\r
        KERNEL2x3_2(xxx)\r
-       //prefetcht0    B_PR1+32(BO,BI,8)\r
        KERNEL2x3_3(xxx)\r
        KERNEL2x3_4(xxx)\r
 \r
@@ -2127,31 +2111,25 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L7_42:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x3_1(xxx)\r
        KERNEL1x3_2(xxx)\r
        KERNEL1x3_3(xxx)\r
-       //prefetcht0    B_PR1+64(BO,BI,8)\r
        KERNEL1x3_4(xxx)\r
 \r
        KERNEL1x3_1(xxx)\r
        KERNEL1x3_2(xxx)\r
-       //prefetcht0    B_PR1+32(BO,BI,8)\r
        KERNEL1x3_3(xxx)\r
        KERNEL1x3_4(xxx)\r
 \r
        je      .L7_46\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x3_1(xxx)\r
        KERNEL1x3_2(xxx)\r
        KERNEL1x3_3(xxx)\r
-       //prefetcht0    B_PR1+64(BO,BI,8)\r
        KERNEL1x3_4(xxx)\r
 \r
        KERNEL1x3_1(xxx)\r
        KERNEL1x3_2(xxx)\r
-       //prefetcht0    B_PR1+32(BO,BI,8)\r
        KERNEL1x3_3(xxx)\r
        KERNEL1x3_4(xxx)\r
 \r
@@ -2277,13 +2255,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L2_12:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL8x2_1(xxx)\r
        KERNEL8x2_2(xxx)\r
        KERNEL8x2_3(xxx)\r
        KERNEL8x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL8x2_1(xxx)\r
        KERNEL8x2_2(xxx)\r
        KERNEL8x2_3(xxx)\r
@@ -2291,13 +2267,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        je      .L2_16\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL8x2_1(xxx)\r
        KERNEL8x2_2(xxx)\r
        KERNEL8x2_3(xxx)\r
        KERNEL8x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL8x2_1(xxx)\r
        KERNEL8x2_2(xxx)\r
        KERNEL8x2_3(xxx)\r
@@ -2399,13 +2373,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L2_22:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x2_1(xxx)\r
        KERNEL4x2_2(xxx)\r
        KERNEL4x2_3(xxx)\r
        KERNEL4x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x2_1(xxx)\r
        KERNEL4x2_2(xxx)\r
        KERNEL4x2_3(xxx)\r
@@ -2413,13 +2385,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        je      .L2_26\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x2_1(xxx)\r
        KERNEL4x2_2(xxx)\r
        KERNEL4x2_3(xxx)\r
        KERNEL4x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x2_1(xxx)\r
        KERNEL4x2_2(xxx)\r
        KERNEL4x2_3(xxx)\r
@@ -2503,13 +2473,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L2_32:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL2x2_1(xxx)\r
        KERNEL2x2_2(xxx)\r
        KERNEL2x2_3(xxx)\r
        KERNEL2x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL2x2_1(xxx)\r
        KERNEL2x2_2(xxx)\r
        KERNEL2x2_3(xxx)\r
@@ -2517,13 +2485,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        je      .L2_36\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL2x2_1(xxx)\r
        KERNEL2x2_2(xxx)\r
        KERNEL2x2_3(xxx)\r
        KERNEL2x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL2x2_1(xxx)\r
        KERNEL2x2_2(xxx)\r
        KERNEL2x2_3(xxx)\r
@@ -2600,13 +2566,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L2_42:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x2_1(xxx)\r
        KERNEL1x2_2(xxx)\r
        KERNEL1x2_3(xxx)\r
        KERNEL1x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x2_1(xxx)\r
        KERNEL1x2_2(xxx)\r
        KERNEL1x2_3(xxx)\r
@@ -2614,13 +2578,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        je      .L2_46\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x2_1(xxx)\r
        KERNEL1x2_2(xxx)\r
        KERNEL1x2_3(xxx)\r
        KERNEL1x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x2_1(xxx)\r
        KERNEL1x2_2(xxx)\r
        KERNEL1x2_3(xxx)\r
@@ -2743,7 +2705,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L1_12:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL8x1_1(xxx)\r
        KERNEL8x1_2(xxx)\r
        KERNEL8x1_3(xxx)\r
@@ -2756,7 +2717,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        je      .L1_16\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL8x1_1(xxx)\r
        KERNEL8x1_2(xxx)\r
        KERNEL8x1_3(xxx)\r
@@ -2851,7 +2811,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L1_22:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x1_1(xxx)\r
        KERNEL4x1_2(xxx)\r
        KERNEL4x1_3(xxx)\r
@@ -2864,7 +2823,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        je      .L1_26\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x1_1(xxx)\r
        KERNEL4x1_2(xxx)\r
        KERNEL4x1_3(xxx)\r
@@ -2946,7 +2904,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L1_32:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL2x1_1(xxx)\r
        KERNEL2x1_2(xxx)\r
        KERNEL2x1_3(xxx)\r
@@ -3036,7 +2993,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L1_42:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x1_1(xxx)\r
        KERNEL1x1_2(xxx)\r
        KERNEL1x1_3(xxx)\r
@@ -3049,7 +3005,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        je      .L1_46\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x1_1(xxx)\r
        KERNEL1x1_2(xxx)\r
        KERNEL1x1_3(xxx)\r
@@ -3317,13 +3272,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L2_12:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL8x2_1(xxx)\r
        KERNEL8x2_2(xxx)\r
        KERNEL8x2_3(xxx)\r
        KERNEL8x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL8x2_1(xxx)\r
        KERNEL8x2_2(xxx)\r
        KERNEL8x2_3(xxx)\r
@@ -3331,13 +3284,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        je      .L2_16\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL8x2_1(xxx)\r
        KERNEL8x2_2(xxx)\r
        KERNEL8x2_3(xxx)\r
        KERNEL8x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL8x2_1(xxx)\r
        KERNEL8x2_2(xxx)\r
        KERNEL8x2_3(xxx)\r
@@ -3502,13 +3453,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L2_22:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x2_1(xxx)\r
        KERNEL4x2_2(xxx)\r
        KERNEL4x2_3(xxx)\r
        KERNEL4x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x2_1(xxx)\r
        KERNEL4x2_2(xxx)\r
        KERNEL4x2_3(xxx)\r
@@ -3516,13 +3465,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        je      .L2_26\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x2_1(xxx)\r
        KERNEL4x2_2(xxx)\r
        KERNEL4x2_3(xxx)\r
        KERNEL4x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x2_1(xxx)\r
        KERNEL4x2_2(xxx)\r
        KERNEL4x2_3(xxx)\r
@@ -3667,13 +3614,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L2_32:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL2x2_1(xxx)\r
        KERNEL2x2_2(xxx)\r
        KERNEL2x2_3(xxx)\r
        KERNEL2x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL2x2_1(xxx)\r
        KERNEL2x2_2(xxx)\r
        KERNEL2x2_3(xxx)\r
@@ -3681,13 +3626,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        je      .L2_36\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL2x2_1(xxx)\r
        KERNEL2x2_2(xxx)\r
        KERNEL2x2_3(xxx)\r
        KERNEL2x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL2x2_1(xxx)\r
        KERNEL2x2_2(xxx)\r
        KERNEL2x2_3(xxx)\r
@@ -3818,13 +3761,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L2_42:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x2_1(xxx)\r
        KERNEL1x2_2(xxx)\r
        KERNEL1x2_3(xxx)\r
        KERNEL1x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x2_1(xxx)\r
        KERNEL1x2_2(xxx)\r
        KERNEL1x2_3(xxx)\r
@@ -3832,13 +3773,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        je      .L2_46\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x2_1(xxx)\r
        KERNEL1x2_2(xxx)\r
        KERNEL1x2_3(xxx)\r
        KERNEL1x2_4(xxx)\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x2_1(xxx)\r
        KERNEL1x2_2(xxx)\r
        KERNEL1x2_3(xxx)\r
@@ -4023,7 +3962,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L1_12:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL8x1_1(xxx)\r
        KERNEL8x1_2(xxx)\r
        KERNEL8x1_3(xxx)\r
@@ -4036,7 +3974,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        je      .L1_16\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL8x1_1(xxx)\r
        KERNEL8x1_2(xxx)\r
        KERNEL8x1_3(xxx)\r
@@ -4186,7 +4123,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L1_22:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x1_1(xxx)\r
        KERNEL4x1_2(xxx)\r
        KERNEL4x1_3(xxx)\r
@@ -4199,7 +4135,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        je      .L1_26\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL4x1_1(xxx)\r
        KERNEL4x1_2(xxx)\r
        KERNEL4x1_3(xxx)\r
@@ -4335,7 +4270,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L1_32:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL2x1_1(xxx)\r
        KERNEL2x1_2(xxx)\r
        KERNEL2x1_3(xxx)\r
@@ -4476,7 +4410,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .L1_42:\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x1_1(xxx)\r
        KERNEL1x1_2(xxx)\r
        KERNEL1x1_3(xxx)\r
@@ -4489,7 +4422,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        je      .L1_46\r
 \r
-       //prefetcht0    B_PR1(BO,BI,8)\r
        KERNEL1x1_1(xxx)\r
        KERNEL1x1_2(xxx)\r
        KERNEL1x1_3(xxx)\r
diff --git a/param.h b/param.h
index a6990f7..c4d1532 100644 (file)
--- a/param.h
+++ b/param.h
@@ -347,7 +347,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #if defined(ARCH_X86_64)
 #define SGEMM_DEFAULT_P 768
-#define DGEMM_DEFAULT_P 384
+#define DGEMM_DEFAULT_P 768
 #define ZGEMM_DEFAULT_P 384
 #define CGEMM_DEFAULT_P 768
 #else