JeffersonLab / qphix

QCD for Intel Xeon Phi and Xeon processors
http://jeffersonlab.github.io/qphix/
Other
13 stars 11 forks source link

Add AVX2 Support #4

Closed bjoo closed 9 years ago

bjoo commented 10 years ago

The Code Generator can produce AVX2 kernels, we should add these and create a new target

bjoo commented 9 years ago

Mario Schrock has added this.

bjoo commented 9 years ago

The addition of the AVX2 headers (specifically the 16 bit ones) caused nobase_include_HEADERS to become too long and cause me to have 'too many arguments' type errors on the 'make install' target. I re-jigged the makefile structure to support this. Now each architecture (avx,avx2,etc) has its own Makefile.am with only the files for that architecture. The scheme is:

_includedir = $(includedir)/qphix/ nobase_arch_include_HEADERS = ... list of header files ... Then the make is recursive so in include/ Makefile has SUBDIRS=qphix in include/qphix the Makefile has SUBDIRS=avx avx2 mic qpx scalar qphix_includedir = $(includedir)/qphix qphix_include_HEADERS = ... This way we can hopefully also easily add SSE (if we ever want).
m-schroeck commented 9 years ago

I've applied this scheme to the qphix-tmf branch, too. (After having merged 'devel' into it.)