Message boards : 
            News : 
        CmDock source code
Message board moderation
    
| Author | Message | 
|---|---|
|  Natalia Send message Joined: 9 Oct 20 Posts: 191 Credit: 2,812,403 RAC: 1,022         | 
 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?? | 
|  Natalia Send message Joined: 9 Oct 20 Posts: 191 Credit: 2,812,403 RAC: 1,022         | 
 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? | 
|  Natalia Send message Joined: 9 Oct 20 Posts: 191 Credit: 2,812,403 RAC: 1,022         | 
 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,835,853 RAC: 342       | 
 CmDock does checkpoint (typically every 5–15 minutes), but there are a couple of bugs: 
 | 
| Send message Joined: 7 Nov 20 Posts: 25 Credit: 731,864 RAC: 851     | 
 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: 9 Credit: 26,817,684 RAC: 0             | 
 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 | 
 
        
        ©2025 SiDock@home Team