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

update in order to generate p3dfft shared library #3

Merged
merged 5 commits into from
Apr 11, 2016
Merged

update in order to generate p3dfft shared library #3

merged 5 commits into from
Apr 11, 2016

Conversation

CyrilleBonamy
Copy link
Contributor

To be C++ compatible :
p3dfft.h update

To generate p3dfft shared library :
update of ghosts.F90 (fixbug), configure.ac and build/Makefile.am

The other files have been generated with the following commands
libtoolize
aclocal
autoconf
automake --add-missing

CyrilleBonamy and others added 5 commits February 9, 2016 14:02
get_dims and get_mpi_info subroutines don't exist :

get_dims => p3dfft_get_dims
get_mpi_info => p3dfft_get_mpi_info

Objective : generate shared library
…ared library

The other files have been generated with the following commands :

libtoolize
aclocal
autoconf
automake --add-missing
@dmitrypek
Copy link
Contributor

Dear Cyrille Bonamy,

thanks so much for your contribution, and sorry for delay in getting back
to you.
I appreciate the update of p3dfft.h to include C++ compatibility. We plan
to incorporate
this change. ghosts.F90 is not used in the current version. As for the
other change
regarding shared library, let me ask what is the reason for your using the
shared library.
Most users will use static library, and I am not yet clear how to make the
installation
configurable so both choices are there.
Let me know if you have any more thoughts.

thanks,

Dmitry Pekurovsky.

On Tue, Feb 9, 2016 at 12:55 PM, CyrilleBonamy notifications@github.com
wrote:

update of ghosts.F90, configure.ac and Makefile.ac

The other files have been generated with the following commands :

libtoolize
aclocal
autoconf

automake --add-missing

You can view, comment on, or merge this pull request online at:

#3
Commit Summary

File Changes

Patch Links:


Reply to this email directly or view it on GitHub
#3.

@jytang jytang merged commit 0d05752 into sdsc:master Apr 11, 2016
@CyrilleBonamy
Copy link
Contributor Author

Hi Dimitry,

We are using the shared library in order to use it with python/cython.
We don't know how to use static library and python...

More precisely, we develop C++ and Python classes useful to perform fast
Fourier transform with different libraries : the fluidfft package :
https://bitbucket.org/fluiddyn/fluidfft

Cyrille

On 31/03/2016 02:17, Dmitry Pekurovsky wrote:

Dear Cyrille Bonamy,

thanks so much for your contribution, and sorry for delay in getting back
to you.
I appreciate the update of p3dfft.h to include C++ compatibility. We plan
to incorporate
this change. ghosts.F90 is not used in the current version. As for the
other change
regarding shared library, let me ask what is the reason for your using the
shared library.
Most users will use static library, and I am not yet clear how to make the
installation
configurable so both choices are there.
Let me know if you have any more thoughts.

thanks,

Dmitry Pekurovsky.

@CyrilleBonamy
Copy link
Contributor Author

hi,
It is very important for us to have the shared library in the official version of the p3dfft :-)

So is it possible?

I think that if you modify only configure.ac and build/Makefile.am, the final result is good for all users.
Indeed, the shared and the static library are then generated and installed.

@dmitrypek
Copy link
Contributor

I can take a look into this. Do you have a modified version that I can test?

@CyrilleBonamy
Copy link
Contributor Author

In the configure.ac you only add the following line (between the line 5 and 6, so just after AC_INT([P3DFFT....... ) :

LT_INIT

And the build/Makefile.am is the following :

AM_FCFLAGS = $(FDFLAGS)
INCLUDES = $(FFTW_INC)
LDADD = $(FFTW_LIB)

lib_LTLIBRARIES = libp3dfft.la
libp3dfft_la_LDFLAGS = -avoid-version
libp3dfft_la_SOURCES = fft_spec.F90 module.F90 fft_init.F90 fft_exec.F90 wrap.F90

module.o: setup.F90 init_plan.F90 ftran.F90 btran.F90 reorder.F90 fcomm1.F90
fcomm2_trans.F90 bcomm1_trans.F90 fcomm2.F90 bcomm1.F90 bcomm2.F90

all-local:
-@[ -e "p3dfft.mod" ] && mv -f p3dfft.mod ../include

clean-local:
-test -z "*.mod" || rm -f *.mod

The other files are generated with the following linux commands
libtoolize
aclocal
autoconf
automake --add-missing

Cyrille

@CyrilleBonamy
Copy link
Contributor Author

i have forget the end of the process...
It is just a classical installation : ./configure blablabla and make; make install

I make now a push request with the good Makefile.am and configure.ac ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants