Gabriel, Please keep the discussion on the list so that others with similar questions may benefit from our discussion.
I suspect your error message is longer. Can you please post the full error message? Thank you, Cory On Wed, Oct 24, 2012 at 7:27 AM, Gabriel Santiago <[email protected]> wrote: > Cory, > > Here they are! My .cu, .h, cpp and my CMakeLists.txt. > > Thank you very much for your help! > > > On 23 October 2012 17:17, Cory Quammen <[email protected]> wrote: >> >> To help you further, I'll need to see your CMakeLists.txt and source >> files. >> >> Cory >> >> On Tue, Oct 23, 2012 at 2:28 PM, Gabriel Santiago >> <[email protected]> wrote: >> > By the way, I don't know if this is relevant, but I am actually using >> > Cuda >> > 5.0 with Nsight as editor/ debugger. >> > >> > Even if I use pure C++, I get the very same error message as if I use >> > some >> > Cuda code. >> > >> > Regards, >> > >> > On 23 October 2012 15:49, Gabriel Santiago <[email protected]> >> > wrote: >> >> >> >> Still not working... The problem happens when CMake/ ITK comes into >> >> scene... >> >> >> >> I get this error message: >> >> >> >> CMake Error at Proj_generated_loadVar_Cuda.cu.o.cmake:256 (message): >> >> Error generating file >> >> >> >> >> >> /home/gabriel/cuda-workspace/Proj/CMakeFiles/teste6.dir//./Proj_generated_loadVar_Cuda.cu.o >> >> >> >> My CMakeLists.txt is the same as the example. Also, I've found this >> >> page: >> >> >> >> >> >> >> >> https://gforge.sci.utah.edu/gf/project/findcuda/scmsvn/?action=browse&path=%2F*checkout*%2Ftrunk%2FFindCuda.html >> >> >> >> But nothing... >> >> >> >> On 23 October 2012 14:01, Cory Quammen <[email protected]> wrote: >> >>> >> >>> By including your .cuh and .cu files like that, your standard C++ >> >>> compiler is going to try to compile the CUDA code in those source >> >>> files. Since it doesn't know anything about CUDA, you are getting >> >>> errors. >> >>> >> >>> This is off the top of my head, and I haven't tried to compile it, but >> >>> your source files will look something like this: >> >>> >> >>> In my_cuda.h: >> >>> >> >>> extern "C" >> >>> void someCudaFunction(); >> >>> >> >>> In my_cuda.cu: >> >>> >> >>> __global__ void someCudaFunction() >> >>> { >> >>> } >> >>> >> >>> In my_main.cpp: >> >>> >> >>> #include "my_cuda.h" >> >>> #include <itkMyFavoriteFilter.h> >> >>> >> >>> int main(int argc, char*argv[]) >> >>> { >> >>> // Do some ITK stuff here >> >>> >> >>> // Do some CUDA stuff here. >> >>> someCudaFunction<<<block,grid>>>(); >> >>> } >> >>> >> >>> In CMakeLists.txt: >> >>> >> >>> PROJECT( PROJECT_NAME ) >> >>> CMAKE_MINIMUM_REQUIRED(VERSION 2.8) >> >>> FIND_PACKAGE ( ITK REQUIRED ) >> >>> FIND_PACKAGE(CUDA) >> >>> INCLUDE(FindCUDA) >> >>> IF ( ITK_FOUND ) >> >>> INCLUDE( ${ITK_USE_FILE} ) >> >>> ENDIF( ITK_FOUND ) >> >>> CUDA_ADD_EXECUTABLE( PROJECT_NAME my_cuda.cu my_main.cpp ) >> >>> TARGET_LINK_LIBRARIES ( PROJECT_NAME ITKCommon ITKIO) >> >>> >> >>> Hope that helps, >> >>> Cory >> >>> >> >>> On Tue, Oct 23, 2012 at 11:19 AM, Gabriel Santiago >> >>> <[email protected]> wrote: >> >>> > Thank you for your attention, Cory. But this can sound very stupid, >> >>> > but >> >>> > *how* exactly do I do that? >> >>> > >> >>> > I packed everything in a .cuh and a .cu file and than included then >> >>> > in >> >>> > my >> >>> > main.cpp file, but the compiler complains about my cuda functions, >> >>> > saying >> >>> > that the qualifier __global__ does not name a type. >> >>> > >> >>> > Could you please, give me a quick example on how my files should >> >>> > look >> >>> > like? >> >>> > I would be very grateful. >> >>> > >> >>> > >> >>> > On 23 October 2012 11:56, Cory Quammen <[email protected]> wrote: >> >>> >> >> >>> >> Gabriel, >> >>> >> >> >>> >> You must be trying to use CUDA in your project. I wouldn't be >> >>> >> surprised if the CUDA compiler has trouble with all the features of >> >>> >> C++ that ITK uses. >> >>> >> >> >>> >> The good news is that you don't need to define your main function >> >>> >> inside a CUDA source file. You can instead compile only your CUDA >> >>> >> source with the CUDA compiler, and all your regular C++ code as C++ >> >>> >> files. Just put the CUDA code in a .cu file, put your main C++ code >> >>> >> in >> >>> >> a .cpp file, then add all the source files to your call to >> >>> >> CUDA_ADD_EXECUTABLE. CMake should figure out how to compile them >> >>> >> automatically. >> >>> >> >> >>> >> Hope that helps, >> >>> >> Cory >> >>> >> >> >>> >> On Tue, Oct 23, 2012 at 9:45 AM, Bill Lorensen >> >>> >> <[email protected]> >> >>> >> wrote: >> >>> >> > Why are you using .cu? >> >>> >> > >> >>> >> > On Tue, Oct 23, 2012 at 9:37 AM, Gabriel Santiago >> >>> >> > <[email protected]> wrote: >> >>> >> >> >> >>> >> >> I am using 3.20.1 version. >> >>> >> >> >> >>> >> >> If I change to .cpp instead of .cu everything works fine. >> >>> >> >> >> >>> >> >> >> >>> >> >> On 23 October 2012 11:34, Bill Lorensen >> >>> >> >> <[email protected]> >> >>> >> >> wrote: >> >>> >> >>> >> >>> >> >>> Please keep on list.... >> >>> >> >>> >> >>> >> >>> What version of ITK? And what happens if you define it as a >> >>> >> >>> .cxx >> >>> >> >>> rather >> >>> >> >>> than .cu? >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> On Tue, Oct 23, 2012 at 9:17 AM, Gabriel Santiago >> >>> >> >>> <[email protected]> wrote: >> >>> >> >>>> >> >>> >> >>>> Sure! >> >>> >> >>>> >> >>> >> >>>> In my main.cu file: >> >>> >> >>>> >> >>> >> >>>> #include <iostream> >> >>> >> >>>> #include <string> >> >>> >> >>>> #include "itkImageFileReader.h" >> >>> >> >>>> >> >>> >> >>>> using std::cout; >> >>> >> >>>> using std::string; >> >>> >> >>>> >> >>> >> >>>> int main(void){ >> >>> >> >>>> >> >>> >> >>>> string filename = "dicom_file.dcm"; >> >>> >> >>>> >> >>> >> >>>> typedef signed int InputPixelType; >> >>> >> >>>> typedef itk::Image<InputPixelType, 3> InputImageType; >> >>> >> >>>> typedef itk::ImageFileReader<InputImageType> ReaderType; >> >>> >> >>>> ReaderType::Pointer reader = ReaderType::New(); >> >>> >> >>>> reader->SetFileName(filename.c_str()); >> >>> >> >>>> >> >>> >> >>>> return 0; >> >>> >> >>>> >> >>> >> >>>> } >> >>> >> >>>> >> >>> >> >>>> My CMakeLists.txt file conatins: >> >>> >> >>>> >> >>> >> >>>> PROJECT( PROJECT_NAME ) >> >>> >> >>>> CMAKE_MINIMUM_REQUIRED(VERSION 2.8) >> >>> >> >>>> FIND_PACKAGE ( ITK REQUIRED ) >> >>> >> >>>> FIND_PACKAGE(CUDA) >> >>> >> >>>> INCLUDE(FindCUDA) >> >>> >> >>>> IF ( ITK_FOUND ) >> >>> >> >>>> INCLUDE( ${ITK_USE_FILE} ) >> >>> >> >>>> ENDIF( ITK_FOUND ) >> >>> >> >>>> CUDA_ADD_EXECUTABLE( PROJECT_NAME main.cu ) >> >>> >> >>>> TARGET_LINK_LIBRARIES ( PROJECT_NAME ITKCommon ITKIO) >> >>> >> >>>> >> >>> >> >>>> Thank you for your reply, >> >>> >> >>>> >> >>> >> >>>> On 23 October 2012 11:08, Bill Lorensen >> >>> >> >>>> <[email protected]> >> >>> >> >>>> wrote: >> >>> >> >>>>> >> >>> >> >>>>> Gabriel, >> >>> >> >>>>> >> >>> >> >>>>> Can you provide a small compilable example to illustrate your >> >>> >> >>>>> problem? >> >>> >> >>>>> >> >>> >> >>>>> Bill >> >>> >> >>>>> >> >>> >> >>>>> On Mon, Oct 22, 2012 at 7:35 AM, Gabriel Santiago >> >>> >> >>>>> <[email protected]> wrote: >> >>> >> >>>>>> >> >>> >> >>>>>> Hi guys, >> >>> >> >>>>>> >> >>> >> >>>>>> I am trying to read a DICOM file using ITK. I am doing >> >>> >> >>>>>> exactly >> >>> >> >>>>>> what >> >>> >> >>>>>> is >> >>> >> >>>>>> described in the ITK User Guide but I am getting some weird >> >>> >> >>>>>> error >> >>> >> >>>>>> messages. >> >>> >> >>>>>> Here they are: >> >>> >> >>>>>> >> >>> >> >>>>>> overriding ‘itk::ImageBase<VImageDimension>::Pointer >> >>> >> >>>>>> itk::ImageBase<VImageDimension>::CreateAnother() const [with >> >>> >> >>>>>> unsigned int >> >>> >> >>>>>> VImageDimension = 3u, >> >>> >> >>>>>> itk::ImageBase<VImageDimension>::Pointer >> >>> >> >>>>>> = >> >>> >> >>>>>> itk::SmartPointer<itk::ImageBase<3u> >]’ >> >>> >> >>>>>> >> >>> >> >>>>>> overriding ‘virtual itk::LightObject::Pointer >> >>> >> >>>>>> itk::Object::CreateAnother() const’ >> >>> >> >>>>>> >> >>> >> >>>>>> invalid covariant return type for >> >>> >> >>>>>> ‘itk::ImageBase<VImageDimension>::Pointer >> >>> >> >>>>>> itk::ImageBase<VImageDimension>::CreateAnother() const [with >> >>> >> >>>>>> unsigned int >> >>> >> >>>>>> VImageDimension = 3u, >> >>> >> >>>>>> itk::ImageBase<VImageDimension>::Pointer >> >>> >> >>>>>> = >> >>> >> >>>>>> itk::SmartPointer<itk::ImageBase<3u> >]’ >> >>> >> >>>>>> >> >>> >> >>>>>> invalid covariant return type for ‘itk::LightObject::Pointer >> >>> >> >>>>>> itk::Image<TPixel, VImageDimension>::CreateAnother() const >> >>> >> >>>>>> [with >> >>> >> >>>>>> TPixel = >> >>> >> >>>>>> int, unsigned int VImageDimension = 3u, >> >>> >> >>>>>> itk::LightObject::Pointer = >> >>> >> >>>>>> itk::SmartPointer<itk::LightObject>]’ >> >>> >> >>>>>> >> >>> >> >>>>>> All of them are not in my code. Can anyone here, please tell >> >>> >> >>>>>> me >> >>> >> >>>>>> what >> >>> >> >>>>>> is going on? >> >>> >> >>>>>> >> >>> >> >>>>>> Thank you all, >> >>> >> >>>>>> >> >>> >> >>>>>> -- >> >>> >> >>>>>> Gabriel Santiago >> >>> >> >>>>>> >> >>> >> >>>>>> ~"As long as I live so long do I learn"~ >> >>> >> >>>>>> Ramakhrishna >> >>> >> >>>>>> >> >>> >> >>>>>> >> >>> >> >>>>>> _____________________________________ >> >>> >> >>>>>> Powered by www.kitware.com >> >>> >> >>>>>> >> >>> >> >>>>>> Visit other Kitware open-source projects at >> >>> >> >>>>>> http://www.kitware.com/opensource/opensource.html >> >>> >> >>>>>> >> >>> >> >>>>>> Kitware offers ITK Training Courses, for more information >> >>> >> >>>>>> visit: >> >>> >> >>>>>> http://www.kitware.com/products/protraining.php >> >>> >> >>>>>> >> >>> >> >>>>>> Please keep messages on-topic and check the ITK FAQ at: >> >>> >> >>>>>> http://www.itk.org/Wiki/ITK_FAQ >> >>> >> >>>>>> >> >>> >> >>>>>> Follow this link to subscribe/unsubscribe: >> >>> >> >>>>>> http://www.itk.org/mailman/listinfo/insight-users >> >>> >> >>>>>> >> >>> >> >>>>> >> >>> >> >>>>> >> >>> >> >>>>> >> >>> >> >>>>> -- >> >>> >> >>>>> Unpaid intern in BillsBasement at noware dot com >> >>> >> >>>>> >> >>> >> >>>> >> >>> >> >>>> >> >>> >> >>>> >> >>> >> >>>> -- >> >>> >> >>>> Gabriel Santiago >> >>> >> >>>> >> >>> >> >>>> >> >>> >> >>>> ~"As long as I live so long do I learn"~ >> >>> >> >>>> Ramakhrishna >> >>> >> >>>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> -- >> >>> >> >>> Unpaid intern in BillsBasement at noware dot com >> >>> >> >>> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> -- >> >>> >> >> Gabriel Santiago >> >>> >> >> >> >>> >> >> ~"As long as I live so long do I learn"~ >> >>> >> >> Ramakhrishna >> >>> >> >> >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > -- >> >>> >> > Unpaid intern in BillsBasement at noware dot com >> >>> >> > >> >>> >> > >> >>> >> > _______________________________________________ >> >>> >> > Powered by www.kitware.com >> >>> >> > >> >>> >> > Visit other Kitware open-source projects at >> >>> >> > http://www.kitware.com/opensource/opensource.html >> >>> >> > >> >>> >> > Kitware offers ITK Training Courses, for more information visit: >> >>> >> > http://kitware.com/products/protraining.php >> >>> >> > >> >>> >> > Please keep messages on-topic and check the ITK FAQ at: >> >>> >> > http://www.itk.org/Wiki/ITK_FAQ >> >>> >> > >> >>> >> > Follow this link to subscribe/unsubscribe: >> >>> >> > http://www.itk.org/mailman/listinfo/insight-developers >> >>> >> > >> >>> >> >> >>> >> >> >>> >> >> >>> >> -- >> >>> >> Cory Quammen >> >>> >> Research Associate >> >>> >> Department of Computer Science >> >>> >> The University of North Carolina at Chapel Hill >> >>> > >> >>> > >> >>> > >> >>> > >> >>> > -- >> >>> > Gabriel Santiago >> >>> > >> >>> > ~"As long as I live so long do I learn"~ >> >>> > Ramakhrishna >> >>> > >> >>> >> >>> >> >>> >> >>> -- >> >>> Cory Quammen >> >>> Research Associate >> >>> Department of Computer Science >> >>> The University of North Carolina at Chapel Hill >> >> >> >> >> >> >> >> >> >> -- >> >> Gabriel Santiago >> >> >> >> ~"As long as I live so long do I learn"~ >> >> Ramakhrishna >> >> >> > >> > >> > >> > -- >> > Gabriel Santiago >> > >> > ~"As long as I live so long do I learn"~ >> > Ramakhrishna >> > >> >> >> >> -- >> Cory Quammen >> Research Associate >> Department of Computer Science >> The University of North Carolina at Chapel Hill > > > > > -- > Gabriel Santiago > > ~"As long as I live so long do I learn"~ > Ramakhrishna > -- Cory Quammen Research Associate Department of Computer Science The University of North Carolina at Chapel Hill _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://www.itk.org/mailman/listinfo/insight-developers
