automake
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]