Closed rcasero closed 12 years ago
OK, so it seems that patches are not attached, they are put in gist and then linked from the issue. So here you are
Ramon,
Thank you for sending the patches. I've incorporated most of them in master. If you have some time, please verify that the changes work on your system.
Thanks, Cory
Hi Cory,
Sorry for the slow reply, due to the winter holiday. Thanks for the fixes to the code.
I have checked out the latest code, and I had some trouble compiling it, but that was due to nVIDIA CUDA not being compatible with gcc's current version in Ubuntu (v4.5). I think I solved that, adding to the root CMakeLists.txt in Gerardus the lines
SET(CMAKE_C_COMPILER gcc-4.4) SET(CMAKE_CXX_COMPILER g++-4.4) SET(CUDA_NVCC_FLAGS "-D__GNUC_MINOR__=4")
Clarity itself seems to compile fine in Ubuntu now.
Now I'm having trouble with the Gerardus Matlab interface because Matlab wants to use its own FFTW library, while Clarity wants to use the one installed in the system. Will try to figure out a solution.
Cheers,
Ramon.
Hi Cory,
I solved the problems I was having, and your new version of Clarity compiles as part of Gerardus, with an without CUDA. The duplicity of the FFTW libraries doesn't seem to be a problem. I just had to make some small changes to the CMakeLists.txt in Clarity. You can see the diff below
I ran a test on an image with different sizes RxCx19 and a Point Spread Function of size 9x9x7. Time in seconds.
R,C | no CUDA | CUDA |
---------------------------
128 | 14.55 | 15.38 |
256 | 9.13 | 9.85 |
512 | 103.44 | 93.79 |
1024 | 162.80 | 156.00 |
---------------------------
Cheers,
Ramon.
Ramon,
Thanks for the information. My understanding of the first part of your patch is that you are telling nvcc the GCC minor version number because otherwise it gets it wrong. My initial thought is that I don't want to include defining this macro for nvcc in case someone uses gcc 4.2, for instance.
I should include documentation on how Clarity needs to be compiled with a version of gcc < 4.5.
Cory
On Thu, Jan 12, 2012 at 10:38 PM, rcasero reply@reply.github.com wrote:
Hi Cory,
I solved the problems I was having, and your new version of Clarity compiles as part of Gerardus, with an without CUDA. The duplicity of the FFTW libraries doesn't seem to be a problem. I just had to make some small changes to the CMakeLists.txt in Clarity. You can see the diff below
I ran a test on an image with different sizes RxCx19 and a Point Spread Function of size 9x9x7. Time in seconds.
R,C | no CUDA | CUDA | --------------------------- 128 | 14.55 | 15.38 | 256 | 9.13 | 9.85 | 512 | 103.44 | 93.79 | 1024 | 162.80 | 156.00 | ---------------------------
Cheers,
Ramon.
Reply to this email directly or view it on GitHub: https://github.com/cquammen/Clarity/issues/1#issuecomment-3475006
Cory Quammen Research Associate Department of Computer Science The University of North Carolina at Chapel Hill
On 17/01/12 18:58, cquammen wrote:
Ramon,
Thanks for the information. My understanding of the first part of your patch is that you are telling nvcc the GCC minor version number because otherwise it gets it wrong. My initial thought is that I don't want to include defining this macro for nvcc in case someone uses gcc 4.2, for instance.
I should include documentation on how Clarity needs to be compiled with a version of gcc< 4.5.
Hi Cory,
Yes, you are right. In Gerardus, if you select CUDA, then it forces the compiler to be gcc-4.4. But when nvcc checks for the compilers version, it queries gcc, which returns e.g. gcc 4.5.
So that macro is doing as you say, passing the correct minor version to the compiler. This could be done better, doing something like --version with the compiler, parsing the minor version, and then passing that to the compiler.
Cheers,
Ramon.
Dr. Ramón Casero Cañas
Computational Biology Department of Computer Science University of Oxford Wolfson Building, Parks Rd Oxford OX1 3QD
tlf +44 (0) 1865 610737 web http://www.cs.ox.ac.uk/people/Ramon.CaseroCanas photos http://www.flickr.com/photos/rcasero/
Dear all,
I have downloaded and tried to compile Clarity 1.0.0 in Ubuntu 11.10, and had to make some small edits to get it to compile. I'm going to try to attach a patch to this issue (first time I use GitHub).
The patch is going to contain some extra stuff, as I have put Clarity as a third-party library in project Gerardus
http://code.google.com/p/gerardus/source/browse/#svn%2Ftrunk%2Fcpp%2Fsrc%2Fthird-party%2Fcquammen-Clarity
(I'm building a Matlab MEX interface for it).
Best regards,
Ramon.