Skip to content

{bio}[GCCcore/12.3.0] AreTomo2 v1.1.2 w/ CUDA 12.1.1#21771

Open
ThomasHoffmann77 wants to merge 2 commits intoeasybuilders:developfrom
ThomasHoffmann77:20241031130924_new_pr_AreTomo2112
Open

{bio}[GCCcore/12.3.0] AreTomo2 v1.1.2 w/ CUDA 12.1.1#21771
ThomasHoffmann77 wants to merge 2 commits intoeasybuilders:developfrom
ThomasHoffmann77:20241031130924_new_pr_AreTomo2112

Conversation

@ThomasHoffmann77
Copy link
Copy Markdown
Contributor

@ThomasHoffmann77 ThomasHoffmann77 commented Oct 31, 2024

(created using eb --new-pr)
fix: rebuild shipped libmrcfile.a and libutil.a from source.

@verdurin
Copy link
Copy Markdown
Member

verdurin commented Nov 5, 2024

Test report by @verdurin
FAILED
Build succeeded for 0 out of 1 (1 easyconfigs in total)
easybuild-el8.cloud.in.bmrc.ox.ac.uk - Linux Rocky Linux 8.10, x86_64, Intel Xeon Processor (Skylake, IBRS), Python 3.6.8
See https://gist.github.com/verdurin/728f6a8c6a991481e35ae586d9d3e65f for a full test report.

@ThomasHoffmann77
Copy link
Copy Markdown
Contributor Author

Test report by @verdurin FAILED Build succeeded for 0 out of 1 (1 easyconfigs in total) easybuild-el8.cloud.in.bmrc.ox.ac.uk - Linux Rocky Linux 8.10, x86_64, Intel Xeon Processor (Skylake, IBRS), Python 3.6.8 See https://gist.github.com/verdurin/728f6a8c6a991481e35ae586d9d3e65f for a full test report.

sanity check command "AreTomo2 -h" requires libcuda.so.1

@sassy-crick
Copy link
Copy Markdown
Collaborator

@ThomasHoffmann77 You might want to sync your PR with development, something like this:

eb --sync-pr-with-develop NUMBER_OF_PR

@github-actions
Copy link
Copy Markdown

Updated software AreTomo2-1.1.2-GCCcore-12.3.0-CUDA-12.1.1.eb

Diff against AreTomo2-1.0.0-GCCcore-12.3.0-CUDA-12.1.1.eb

easybuild/easyconfigs/a/AreTomo2/AreTomo2-1.0.0-GCCcore-12.3.0-CUDA-12.1.1.eb

diff --git a/easybuild/easyconfigs/a/AreTomo2/AreTomo2-1.0.0-GCCcore-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/a/AreTomo2/AreTomo2-1.1.2-GCCcore-12.3.0-CUDA-12.1.1.eb
index d59d99cda1..b72be8afec 100644
--- a/easybuild/easyconfigs/a/AreTomo2/AreTomo2-1.0.0-GCCcore-12.3.0-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/a/AreTomo2/AreTomo2-1.1.2-GCCcore-12.3.0-CUDA-12.1.1.eb
@@ -2,22 +2,22 @@
 easyblock = 'MakeCp'
 
 name = 'AreTomo2'
-version = '1.0.0'
+version = '1.1.2'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/czimaginginstitute/AreTomo2'
 
-description = """AreTomo2, a multi-GPU accelerated software package that fully automates motion-
-corrected marker-free tomographic alignment and reconstruction, now includes
-robust GPU-accelerated CTF (Contrast Transfer Function) estimation in a single
-package. AreTomo2 is part of our endeavor to build a fully-automated high-
-throughput processing pipeline that enables real-time reconstruction of
-tomograms in parallel with tomographic data collection. It strives to be fast
-and accurate, as well as provides for easy integration into subtomogram
-processing workflows by generating IMod compatible files containing alignment
-and CTF parameters needed to bootstrap subtomogram averaging. AreTomo2 can also
-be used for on-the-fly reconstruction of tomograms and CTF estimation in
-parallel with tilt series collection, enabling real-time assessment of sample
+description = """AreTomo2, a multi-GPU accelerated software package that fully automates motion- 
+corrected marker-free tomographic alignment and reconstruction, now includes    
+robust GPU-accelerated CTF (Contrast Transfer Function) estimation in a single  
+package. AreTomo2 is part of our endeavor to build a fully-automated high-      
+throughput processing pipeline that enables real-time reconstruction of         
+tomograms in parallel with tomographic data collection. It strives to be fast   
+and accurate, as well as provides for easy integration into subtomogram         
+processing workflows by generating IMod compatible files containing alignment   
+and CTF parameters needed to bootstrap subtomogram averaging. AreTomo2 can also 
+be used for on-the-fly reconstruction of tomograms and CTF estimation in        
+parallel with tilt series collection, enabling real-time assessment of sample   
 quality and adjustment of collection parameters"""
 
 toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
@@ -25,15 +25,16 @@ toolchainopts = {'cstd': 'c++11'}
 
 source_urls = [GITHUB_SOURCE]
 sources = ['v%(version)s.tar.gz']
-patches = ['%(name)s-%(version)s_makefile.patch']
+patches = ['%(name)s-%(version)s_makefile_lib.patch']
 checksums = [
-    {'v1.0.0.tar.gz': '5518cd5d7bc13a6dbb6d9310b22c301e73a0c91dc059da403445d79ca0ff8892'},
-    {'AreTomo2-1.0.0_makefile.patch': '8595b2fc55e0b5e1bf7c077c93c09503b4e8f95123c6aaf0a5fbe44dda871c73'},
+    {'v1.1.2.tar.gz': '4cbb4d25d28778041d80ef2c598519b17b9a40aa84e1e99daf48ad5a90d946b4'},
+    {'AreTomo2-1.1.2_makefile_lib.patch': '53b3694104c4149d2714e503fb2a7cb9be7cbb0e500ee6991a606faa1c10a314'},
 ]
 
 github_account = 'czimaginginstitute'
 
-build_cmd = 'make exe -f makefile11 CUDAHOME=$CUDA_HOME CUDACC="%(cuda_cc_cmake)s"'
+prebuildopts = 'rm -rf LibSrc/Lib/*.a && '
+build_cmd = 'make clean -f makefile11 && make exe -f makefile11 CUDAHOME=$CUDA_HOME CUDACC="%(cuda_cc_cmake)s"'
 
 builddependencies = [
     ('binutils', '2.40')

{'AreTomo2-1.1.2_makefile_lib.patch': '53b3694104c4149d2714e503fb2a7cb9be7cbb0e500ee6991a606faa1c10a314'},
]

github_account = 'czimaginginstitute'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should come before source_urls, please fix


sanity_check_paths = {
'files': ['bin/%(name)s'],
'dirs': ['bin'],
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dirs can be just "[]" since bin is already checked due to files

Comment on lines +23 to +24
+ @echo $(CC) $(CFLAGS_) $< -o $@
+ @$(CC) $(CFLAGS_) $< -o $@
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not just remove the "@" in front of the compile line if you want it to print what it does.

Comment on lines +27 to +28
+ @echo rm -f $(OUT) $(OBJS) *.*~ makefile~
@rm -f $(OUT) $(OBJS) *.*~ makefile~
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here but for the rm line

Comment on lines +47 to +48
+ echo $(CC) $(CFLAG) $< -o $@
$(CC) $(CFLAG) $< -o $@
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The $(CC) is printed by make anyway

+ -lcufft -lcudart -lcuda -lc -lm -lpthread \
+ -o AreTomo2
+
@g++ -g -pthread -m64 $(OBJS) \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should use $(CXX) not g++

Comment on lines +84 to +86
+ @echo $(CC) $(CFLAG) -I$(PRJINC) -I$(CUDAINC) \
+ $< -o $@
@$(CC) $(CFLAG) -I$(PRJINC) -I$(CUDAINC) \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here to, just drop the @

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @akesandgren, i was not aware of the meaning of @.
I'll have on your suggestions next week.

@akesandgren
Copy link
Copy Markdown
Contributor

There is also a bunch of trailing whitespace that needs to be removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants