[go: up one dir, main page]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packages of ADDA #282

Open
myurkin opened this issue Dec 2, 2020 · 5 comments
Open

Packages of ADDA #282

myurkin opened this issue Dec 2, 2020 · 5 comments
Labels
DevOps Testing, deployment, automation pri-Medium Worth assigning to a milestone usability Makes using code more convenient
Milestone

Comments

@myurkin
Copy link
Member
myurkin commented Dec 2, 2020

It should be possible to provide ADDA packages for Homebrew and other package managers (in time, maybe even for Windows). Would be great for more broader adoption of ADDA.

GitHub have recently introduced functionality to make it more convenient. Probably, it can be done with Github Actions.

This issue seems to be blocked with #114 . Also, we need to consider carefully which compilation options should be used for which package. And should it be one package or, e.g., three (seq, mpi, ocl).

@myurkin myurkin added usability Makes using code more convenient comp-Scripts Related to Makefiles, wrappers, developer and testing scripts pri-Medium Worth assigning to a milestone labels Dec 2, 2020
@myurkin myurkin added this to the 1.5 milestone Dec 2, 2020
@myurkin myurkin self-assigned this Dec 2, 2020
@myurkin
Copy link
Member Author
myurkin commented Apr 24, 2021

With respect to #114, it should be reconsidered which of that is really important. Probably the most important is use of configure or cmake.

/cc @alkichigin

@myurkin myurkin modified the milestones: 1.5, 1.6 Apr 24, 2021
@myurkin myurkin removed their assignment Apr 24, 2021
@myurkin
Copy link
Member Author
myurkin commented Nov 3, 2021

Another potential issue is related to using Fortran on MacOS. Currently, gcc from Homebrew includes gfortran but the gcc itself remains a symlink to clang. This is good for performance, but using clang as a linker ignores gcc standard folders (where gfortran libraries are located).

Thus, we may need to locate this folder (for a specific gcc version) inside Homebrew and specify it during compilation, like

make ... FORT_LIB_PATH=/opt/homebrew/Cellar/gcc/11.2.0/lib/gcc/11

but the path should be built from some internal Homebrew parameters.

Potentially relevant issue is Homebrew/homebrew-core#84245

@myurkin
Copy link
Member Author
myurkin commented Nov 3, 2021

Concerning different adda modes (seq, mpi, ocl) with different dependences. The preliminary idea is to have following packages (a -> b means a depends on b):

  • adda -> gcc, (gfortran), fftw
  • adda-mpi -> adda-seq, openmpi (or mpich)
  • adda-ocl -> adda-seq, clfft
  • adda-all -> adda, adda-mpi, adda-ocl

adda will also compile most of tools in misc/, while adda-mpi - tools in misc/near_field.

But it is still worth studying the examples of other packages, where different modes are used.

@myurkin
Copy link
Member Author
myurkin commented Feb 16, 2022

This is also related with Continuous Integration (CI) on GitHub. Probably the latter can be implemented independently, but it would be much easier if the packages are already available.

@myurkin myurkin added DevOps Testing, deployment, automation and removed comp-Scripts Related to Makefiles, wrappers, developer and testing scripts labels Mar 18, 2022
@myurkin
Copy link
Member Author
myurkin commented Feb 8, 2024

While a comprehensive solution of this issue is non-trivial some partly solutions (e.g., seq version for Unix) is much easier. This can be straightforwardly implemented (together with git clone ...) in other codes that depend on ADDA. See, e.g., https://gitlab.com/k.czajkowski/addatmatrix/ . Potentially, some of such codes can further be used as a base for comprehensive solution.

Another workaround is employed by ADDA GUI - https://github.com/adda-team/adda-gui, but it is not fully automated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DevOps Testing, deployment, automation pri-Medium Worth assigning to a milestone usability Makes using code more convenient
Projects
None yet
Development

No branches or pull requests

1 participant