Message boards :
News :
CmDock source code
Message board moderation
Author | Message |
---|---|
Send message Joined: 9 Oct 20 Posts: 185 Credit: 2,782,517 RAC: 142 |
Hi everyone, here is the CmDock source code repository: https://gitlab.com/Jukic/cmdock. This is the main application that we use in the project. Now you can try and build it for your own platforms! We have many plans and invite C++ devs, especially ones with CUDA and parallel computing knowledge to join our project. If you would like to join, please contact Marko: jukic (dot) marko (at) gmail (dot) com. With best wishes, Natalia |
Send message Joined: 25 Oct 20 Posts: 17 Credit: 226,278 RAC: 0 |
Hi everyone, Great!!!! We have many plans and invite C++ devs, especially ones with CUDA and parallel computing knowledge to join our project. Why not OpenCl?? |
Send message Joined: 9 Oct 20 Posts: 185 Credit: 2,782,517 RAC: 142 |
OpenCL is a great idea! If you know it and want to help with it, please contact us! |
Send message Joined: 25 Oct 20 Posts: 17 Credit: 226,278 RAC: 0 |
A brief summary of C++ in 2020 |
Send message Joined: 11 Jan 21 Posts: 2 Credit: 18 RAC: 0 |
How can I install the new client without much effort? and is it doing better with the GPU than BOINC? |
Send message Joined: 11 Nov 20 Posts: 47 Credit: 83,493 RAC: 0 |
GPU version of CMDOCK is currently not available. We will start to work on GPU version very soon ;-) If you have experience on GPU programming and you would like to contribute to the project just drop an email to jukic dot marko @ gmail dot com |
Send message Joined: 11 Jan 21 Posts: 2 Credit: 18 RAC: 0 |
Ok, well, thanks for the great work |
Send message Joined: 13 Jan 21 Posts: 76 Credit: 38,846,214 RAC: 0 |
I intend to compile cmdock for AVX-512 provided that I can teach myself how to do it. Do you recommend a good site for learning to compile for Ubuntu??? |
Send message Joined: 13 Jan 21 Posts: 76 Credit: 38,846,214 RAC: 0 |
Following these instructions https://gitlab.com/Jukic/cmdock/-/blob/master/INSTALL.md Since this tyro is compiling for the first time this century I'll have lots of naive questions. 1. meson setup <builddir> My first guess where is: /usr/local/src 2. CC=clang CXX=clang++ meson ... on Linux It seems odd to specify two languages to compile in. Should I pick just one and which one? E.g., CXX=clang++ meson 3. meson setup <builddir> --buildtype <debug|debugoptimized|release> --prefix </absolute/install/path/> No guidance given as to which --prefix option to use. This also begs the question from Environment Variables export CMDOCK_ROOT=/path/to/cmdock is --prefix = /path/to/cmdock ??? Looking ahead to the ultimate objective I will have created a program called e.g. cmdock_AVX512. Do I just replace cmdock-wrapper_1.1_x86_64-pc-linux-gnu with cmdock_AVX-512??? Will the contents of cmdock-boinc_job_1.1_x86_64-pc-linux-gnu.xml need to be altered??? |
Send message Joined: 19 Dec 20 Posts: 1 Credit: 7,347 RAC: 0 |
I started trying to compile this. It seems to have non-free dependencies on software from daylight.com. Is this correct? |
Send message Joined: 9 Oct 20 Posts: 185 Credit: 2,782,517 RAC: 142 |
Hello! We are not aware of such a dependency (could you please point out the file in question?) Upd.: is it https://gitlab.com/Jukic/cmdock/-/blob/master/meson.build#L158? This is an optional reference to the modules that can work with SMILES strings. P.S.: CmDock is a fork of an open-source project which had no non-free dependencies declared. We ourselves did not add anything non-free and will keep the project free always. |
Send message Joined: 3 May 23 Posts: 2 Credit: 11,850 RAC: 0 |
Checkpoints - none? SiDock does not seem to be doing checkpoints/save-points of its work. So a BOINC manager shutdown with 'stop running projects' (or perhaps a system crash/reboot) loses >all< work done so far. Four SiDock work units have gone from just under two days remaining, back to four-plus days, with less than 1% completed. = I would prefer to donate to projects who can >complete< work units, despite occasional crashes and shutdown on my end. Thank you. |
Send message Joined: 10 Feb 21 Posts: 21 Credit: 4,831,331 RAC: 0 |
CmDock does checkpoint (typically every 5–15 minutes), but there are a couple of bugs:
|
Send message Joined: 7 Nov 20 Posts: 18 Credit: 584,598 RAC: 1,332 |
I used meson setup --prefix /opt/cmdock-0.2.0 build --buildtype release --optimization=3 -Dcpp_args=' -pipe -march=native -mtune=native -flto ' -Dc_args=' -pipe -march=native -mtune=native -flto ' meson compile -C build -j 8 sudo meson install -C build app_info.xml <app_info> <app> <name>cmdock-s</name> <user_friendly_name>CurieMarieDock 0.2.0 short tasks</user_friendly_name> </app> <app> <name>cmdock-l</name> <user_friendly_name>CurieMarieDock 0.2.0 long tasks</user_friendly_name> </app> <file_info> <name>cmdock-s_wrapper_0.2.0</name> <sticky/> <executable/> </file_info> <file_info> <name>cmdock-l_wrapper_0.2.0</name> <sticky/> <executable/> </file_info> <file_info> <name>cmdock</name> <sticky/> <executable/> </file_info> <file_info> <name>cmdock-l_job_0.2.0.xml</name> <sticky/> </file_info> <file_info> <name>cmdock-s_job_0.2.0.xml</name> <sticky/> </file_info> <file_info> <name>docking_out</name> <sticky/> </file_info> <app_version> <app_name>cmdock-s</app_name> <version_num>100</version_num> <file_ref> <file_name>cmdock-s_wrapper_0.2.0</file_name> <main_program/> </file_ref> <file_ref> <file_name>cmdock</file_name> <open_name>cmdock</open_name> <copy_file/> </file_ref> <file_ref> <file_name>cmdock-s_job_0.2.0.xml</file_name> <open_name>job.xml</open_name> <copy_file/> </file_ref> <file_ref> <file_name>docking_out</file_name> <open_name>docking_out</open_name> <copy_file/> </file_ref> </app_version> <app_version> <app_name>cmdock-l</app_name> <version_num>100</version_num> <file_ref> <file_name>cmdock-l_wrapper_0.2.0</file_name> <main_program/> </file_ref> <file_ref> <file_name>cmdock</file_name> <open_name>cmdock</open_name> <copy_file/> </file_ref> <file_ref> <file_name>cmdock-l_job_0.2.0.xml</file_name> <open_name>job.xml</open_name> <copy_file/> </file_ref> <file_ref> <file_name>docking_out</file_name> <open_name>docking_out</open_name> <copy_file/> </file_ref> </app_version> </app_info> cmdock-s_job_0.2.0.xml <job_desc> <task> <application>cmdock</application> <stdout_filename>docking_log</stdout_filename> <command_line>-c -j 1 -b 1 -r target.prm -p "/opt/cmdock-0.2.0/data/scripts/dock.prm" -f htvs.ptc -i ligands.sdf -o docking_out</command_line> <checkpoint_filename>docking_out.chk</checkpoint_filename> <fraction_done_filename>docking_out.progress</fraction_done_filename> <setenv>CMDOCK_ROOT=/opt/cmdock-0.2.0/</setenv> <setenv>LD_LIBRARY_PATH=/opt/cmdock-0.2.0/lib:$LD_LIBRARY_PATH</setenv> <setenv>PERL5LIB=/opt/cmdock-0.2.0/lib:$PERL5LIB</setenv> </task> <unzip_input> <zipfilename>ligands.zip</zipfilename> </unzip_input> </job_desc> cmdock-l_job_0.2.0.xml <job_desc> <task> <application>cmdock</application> <stdout_filename>docking_log</stdout_filename> <command_line>-c -j 1 -b 1 -r target.prm -p "/opt/cmdock-0.2.0/data/scripts/dock.prm" -f htvs.ptc -i ligands.sdf -o docking_out</command_line> <checkpoint_filename>docking_out.chk</checkpoint_filename> <fraction_done_filename>docking_out.progress</fraction_done_filename> <setenv>CMDOCK_ROOT=/opt/cmdock-0.2.0/</setenv> <setenv>LD_LIBRARY_PATH=/opt/cmdock-0.2.0/lib:$LD_LIBRARY_PATH</setenv> <setenv>PERL5LIB=/opt/cmdock-0.2.0/lib:$PERL5LIB</setenv> </task> <unzip_input> <zipfilename>ligands.zip</zipfilename> </unzip_input> </job_desc> Then i created symlink with ln -s /opt/cmdock-0.2.0/bin/cmdock cmdock and created empty file with touch docking_out Also downloaded boinc wrapper from https://boinc.berkeley.edu/dl/wrapper_26014_x86_64-pc-linux-gnu.zip extracted, copied and renamed to cmdock-s_wrapper_0.2.0 and cmdock-l_wrapper_0.2.0 |
Send message Joined: 6 Jan 24 Posts: 6 Credit: 19,819,397 RAC: 51,505 |
I'm inclined to try building my own binary, but I realized even my newly signed up hosts get tasks of quorum 1. That's probably not a great idea in general when the reliability and correctness of a host is unproven. I remember BOINC has some option to turn on additional validation until a host is proven to generate reliable results. Would I get additional validation if I switch to anonymous platform? The last thing I want is accidentally generating bogus results because of some compiler difference. Or would `-Dtests=true` be enough confidence that my compiled binaries are correct? When I tried to compile on Ubuntu 23.10, I've already had to make one change. $ git diff diff --git a/src/lib/Rbt.cxx b/src/lib/Rbt.cxx index e953312..7cf5bb2 100644 --- a/src/lib/Rbt.cxx +++ b/src/lib/Rbt.cxx @@ -14,6 +14,7 @@ #include <algorithm> //For sort #include <climits> //For PATH_MAX +#include <cstdint> //For uint64_t #include <cstdlib> //For getenv #include <ctime> //For time functions #include <dirent.h> //For directory handling @@ -581,4 +582,4 @@ bool Rbt::endsWith (std::string const &fullString, std::string const &ending) { } else { return false; } -} \ No newline at end of file +} Also thanks to @kotenok2000. I haven't got to the anonymous platform part yet, but your comment will likely make that far easier for me. :-D |
©2024 SiDock@home Team