Browse Source

VULCAN: Add optimized DGEMM implementation

tags/v0.2.20^2
Ashwin Sekhar T K 9 years ago
parent
commit
0b8e876d89
3 changed files with 1829 additions and 0 deletions
  1. +10
    -0
      driver/others/parameter.c
  2. +2
    -0
      kernel/arm64/KERNEL.VULCAN
  3. +1817
    -0
      kernel/arm64/dgemm_kernel_8x4_vulcan.S

+ 10
- 0
driver/others/parameter.c View File

@@ -730,12 +730,22 @@ void blas_set_parameter(void){

#if defined(ARCH_ARM64)

#if defined(VULCAN)
unsigned long vulcan_pre_a;
unsigned long vulcan_pre_b;
unsigned long vulcan_pre_c;
#endif

void blas_set_parameter(void)
{
#if defined(VULCAN)
dgemm_p = 160;
dgemm_q = 128;
dgemm_r = 4096;

vulcan_pre_a = 3584;
vulcan_pre_b = 512;
vulcan_pre_c = 128;
#endif
}



+ 2
- 0
kernel/arm64/KERNEL.VULCAN View File

@@ -1,2 +1,4 @@
include $(KERNELDIR)/KERNEL.CORTEXA57

DGEMMKERNEL = dgemm_kernel_$(DGEMM_UNROLL_M)x$(DGEMM_UNROLL_N)_vulcan.S


+ 1817
- 0
kernel/arm64/dgemm_kernel_8x4_vulcan.S
File diff suppressed because it is too large
View File


Loading…
Cancel
Save