[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Build rules for CUDA source files
From: |
Adam Mercer |
Subject: |
Re: Build rules for CUDA source files |
Date: |
Thu, 9 Sep 2010 15:42:31 -0500 |
On Thu, Sep 9, 2010 at 15:27, Ralf Wildenhues <address@hidden> wrote:
Ralf
>> pkginclude_HEADERS = \
>> ComplexFFT.h \
>> RealFFT.h \
>> FFTWMutex.h \
>> TimeFreqFFT.h \
>> CudaPlan.h
>
> JFTR, headers not going to be installed can be listed in *_SOURCES as
> well.
I know, we need all the headers installed - plus I only included a
snippet of the Makefile.am.
> For libtool libraries, it will try for a CudaFFT.lo file.
of course.
> You may be
> able to create a .cu.lo rule to generate that. I think. Since I'm not
> sure that that will work OOTB with Libtool (there is no extra Cuda
> language tag defined in Libtool, but you may be able to get by by using
> --tag=CC or so),
libtool doesn't seem to like the generate CudaFFT.lo:
nvcc -c -I../../../include -I./../include -o CudaFFT.lo CudaFFT.cu
/bin/sh ../../../libtool --tag=CC --mode=link gcc -std=gnu99
-I/usr/local/nvidia/sdk-3.1/cuda/include -o libfft.la
CudaComplexFFT.lo CudaRealFFT.lo FFTWMutex.lo CudaFunctions.lo
CudaFFT.lo TimeFreqFFT.lo AverageSpectrum.lo Convolution.lo -lfftw3
-lfftw3f -lgsl -lgslcblas -lm -L/usr/local/nvidia/sdk-3.1/cuda/lib64
-lcufft -lcudart -lgsl -lgslcblas -lm -lfftw3 -lfftw3f -lm
libtool: link: `CudaFFT.lo' is not a valid libtool object
make: *** [libfft.la] Error 1
> a workaround for now could be to remove CudaFFT.cu from
> *_SOURCES, add it to EXTRA_DIST, and add
> libfft_la_LIBADD = CudaFFT.o
>
> Untested, please complain if that breaks.
Seems to work, but theres the following warning:
*** Warning: Linking the shared library libfft.la against the non-libtool
*** objects CudaFFT.o is not portable!
is this anything to worry about as we are only going to support Cuda
on Linux, and possibly Mac OS X.
> Ah yes, of course you need to ensure PICness yourself in the latter
> case.
How would I go about doing that? I usually leave that up to libtool?
Cheers
Adam