JeffersonLab / qphix

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

Clean out build system so we can build without QDP++ #8

Closed bjoo closed 7 years ago

bjoo commented 9 years ago

QDP++ is only supposed to be needed to build the unit test codes which test correctness. I need to clean out the build system so code and the timers build without QDP++. Need to make sure all the COMMS macros are still set appropriately.

bjoo commented 9 years ago

This is done in commit 13d114f1e0971e93d142c9b90ef9acc37e565ec6 in the BG/Q port branch. I will merge this into master after some sanity checking and then it will be complete.

bjoo commented 9 years ago

With the merge of the BG/Q port branch this is done. I am closing the issue. If it becomes an issue again, please open a new issue

bjoo commented 9 years ago

Should build without QDP++ but make available the clover packer and qdp packers. -- The reasoning is that QDP-JIT has a different clover term, and so it has conflicts with the QDPCloverTerm. Also we make assumptions about QDP++ template hierarchy in the packers... We need to figure out a better interface.

martin-ueding commented 7 years ago

I have made changes to the build system in #33, now one can build without --with-qdp=PATH or even with --without-qdp. Does that resolve this issue here?

How can the QDP packers be used without QDP when they use some QDP++ data structure on one end of the conversion?

bjoo commented 7 years ago

Hi Martin, They cannot. If one builds without QDP++ we need to disable tests which rely on QDP packers. Best, B

On Apr 23, 2017, at 9:36 AM, Martin Ueding notifications@github.com wrote:

I have made changes to the build system in #33, now one can build without --with-qdp=PATH or even with --without-qdp. Does that resolve this issue here?

How can the QDP packers be used without QDP when they use some QDP++ data structure on one end of the conversion?

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub, or mute the thread.


Dr Balint Joo High Performance Computational Scientist Jefferson Lab 12000 Jefferson Ave, Suite 3, MS 12B2, Room F217, Newport News, VA 23606, USA Tel: +1-757-269-5339, Fax: +1-757-269-5427 email: bjoo@jlab.org

martin-ueding commented 7 years ago

In 26376523c3bb2473ca63bb5f390be2bfe0a7931d, I have put the one test that needs QDP but is not in the if QPHIX_BUILD_WITH_QDP clause into said clause. Building without QDP is now possible in devel.

If the packers cannot be used without QDP anyway, I assume that is issue is done, right?

bjoo commented 7 years ago

I would think so. Installing the packers is fine, because someone may want to use the installed package with QDP++. Would you agree? I am now working on correcting the Wilson op

Best, B

On Apr 23, 2017, at 9:42 AM, Martin Ueding notifications@github.com wrote:

In 2637652, I have put the one test that needs QDP but is not in the if QPHIX_BUILD_WITH_QDP clause into said clause. Building without QDP is now possible in devel.

If the packers cannot be used without QDP anyway, I assume that is issue is done, right?

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub, or mute the thread.


Dr Balint Joo High Performance Computational Scientist Jefferson Lab 12000 Jefferson Ave, Suite 3, MS 12B2, Room F217, Newport News, VA 23606, USA Tel: +1-757-269-5339, Fax: +1-757-269-5427 email: bjoo@jlab.org

martin-ueding commented 7 years ago

The test programs that compare with QDP have a built-time dependency on QDP as well as a run-time dependency. When installing QPhiX as a library, it has no direct dependency on QDP. The packers (as they are template headers) have no QPhiX-build-time dependency.

Thinking in RPM packages, I'd include the packers in qphix-devel and have no BuildRequires on QDP. So I'd also say that this is fine and I'll close this issue.