merge with kernels from MH's master thesis
[LbmBenchmarkKernelsPublic.git] / src / KernelFunctions.h
index 2ee063abba75c60f064ea553fc93f3a711307222..9c6b53e3ddc64c8a0b38d339b09b816e4cf6e377 100644 (file)
@@ -8,6 +8,10 @@
 //   Viktor Haag, 2016
 //   LSS, University of Erlangen-Nuremberg, Germany
 //
+//   Michael Hussnaetter, 2017-2018
+//   University of Erlangen-Nuremberg, Germany
+//   michael.hussnaetter -at- fau.de
+//
 //  This file is part of the Lattice Boltzmann Benchmark Kernels (LbmBenchKernels).
 //
 //  LbmBenchKernels is free software: you can redistribute it and/or modify
 #define __KERNEL_FUNCTIONS_H__
 
 #include "BenchKernelD3Q19.h"
+#include "BenchKernelD3Q19Aa.h"
+#include "BenchKernelD3Q19AaVec.h"
+#include "BenchKernelD3Q19AaVecSl.h"
 #include "BenchKernelD3Q19List.h"
 #include "BenchKernelD3Q19ListAa.h"
 #include "BenchKernelD3Q19ListAaRia.h"
 #include "BenchKernelD3Q19ListAaPv.h"
+#ifdef VECTOR_AVX512
+#include "BenchKernelD3Q19ListAaPvGatherAoSoA.h"
+#include "BenchKernelD3Q19ListAaPvGather.h"
+#include "BenchKernelD3Q19ListAaPvGatherHybrid.h"
+#endif
 #include "BenchKernelD3Q19ListPullSplitNt.h"
 
 typedef struct KernelFunctions_
@@ -63,6 +75,24 @@ KernelFunctions g_kernels[] =
                .Init   = D3Q19ListAaInit_PushAoS,
                .Deinit = D3Q19ListAaDeinit_PushAoS
        },
+#ifdef VECTOR_AVX512
+       {
+               .Name   = "list-aa-pv-gather-aosoa",
+               .Init   = D3Q19ListAaPvGatherAoSoAInit_PushAoSoA,
+               .Deinit = D3Q19ListAaPvGatherAoSoADeinit_PushAoSoA
+       },
+       {
+               .Name   = "list-aa-pv-gather-soa",
+               .Init   = D3Q19ListAaPvGatherInit_PushSoA,
+               .Deinit = D3Q19ListAaPvGatherDeinit_PushSoA
+       },
+
+       {
+               .Name   = "list-aa-pv-gather-hybrid-soa",
+               .Init   = D3Q19ListAaPvGatherHybridInit_PushSoA,
+               .Deinit = D3Q19ListAaPvGatherHybridDeinit_PushSoA
+       },
+#endif
        {
                .Name   = "list-pull-split-nt-1s-soa",
                .Init   = D3Q19ListPullSplitNt1SInit_PullSoA,
@@ -133,6 +163,28 @@ KernelFunctions g_kernels[] =
                .Init   = D3Q19BlkInit_PullAoS,
                .Deinit = D3Q19BlkDeinit_PullAoS
        },
+       {
+               .Name   = "aa-aos",
+               .Init   = D3Q19AaInit_AaAoS,
+               .Deinit = D3Q19AaDeinit_AaAoS
+       },
+       {
+               .Name   = "aa-soa",
+               .Init   = D3Q19AaInit_AaSoA,
+               .Deinit = D3Q19AaDeinit_AaSoA
+       },
+       {
+               .Name   = "aa-vec-soa",
+               .Init   = D3Q19AaVecInit_AaSoA,
+               .Deinit = D3Q19AaVecDeinit_AaSoA
+       },
+       {
+               .Name   = "aa-vec-sl-soa",
+               .Init   = D3Q19AaVecSlInit_AaSoA,
+               .Deinit = D3Q19AaVecSlDeinit_AaSoA
+       }
+
+
 };
 
 #endif // __KERNEL_FUNCTIONS_H__
This page took 0.055047 seconds and 5 git commands to generate.