Closed C-H-Chien closed 2 years ago
Hi! If you're looking for parallel capabilities off-the-shelf, you should use Bertini 1 -- Bertini 2 is still experimental, and has no parallelism built-in. If you still want, I can help you get compiled, but first I need to check whether you should just use Bertini 1.
Hi! Thank you for the quick reply. Yes, I am looking for the bertini that is able to run on multiple CPU cores. In that case, I can just use Bertini 1.
I downloaded Bertini 1.6 from Bertini's Download page (the second link), and after extraction, under the BertiniSource_v16/
directory, I met "Permission denied" issue after ./configure
. Does ./configure
requires root privilege, or am I doing the compilation procedure incorrectly?
Thank you!
Does ./configure requires root privilege, or am I doing the compilation procedure incorrectly?
No, it shouldn't. Maybe you have to change permissions? Try chmod +x ./configure
, then try running it again.
(
On the original topic, OP probably needed to both use ./configure LDFLAGS="-L/usr/lib64"
to specify the location of the mpc
library, as well as adding the headers with a -I/path/to/include
. So something like
./configure LDFLAGS="-I/path/to/include/for/mpc -L/usr/lib64"
should have worked. )
Sorry B2 doesn't have parallelism. I took a teaching job, and don't have a ton of time for development of Bertini 2, nor do we teach the skills in CS to have my students work on the product much. I'd love it if someone else picked up the project -- I think the start is solid, and I love the interface we came up with, I just lack the time to devote to the project.
Does ./configure requires root privilege, or am I doing the compilation procedure incorrectly?
No, it shouldn't. Maybe you have to change permissions? Try
chmod +x ./configure
, then try running it again.
Using chmod +x ./configure
indeed works, and now I believe the compilation is complete and Bertini 1.6 is installed in a specified prefix. In that prefix directory, I found three executable files under bin/
: bertini
, bertini-parallel
, and bertini-serial
. Does ./bertini-parallel
run on multiple CPU cores? Do I need to specify how many cores should be used?
It's totally okay to use Bertini 1 for parallel computing :) I am a Ph.D. student working on a GPU implementation of homotopy continuation, and I am using Bertini primarily to compare the efficiency. For fair comparison, Bertini should be run on multiple cores, and that's why I am here. Perhaps in the future there is an opportunity of cooperation on parallelizing B2!
For Bertini 1, in the installation directory bertini
is a symlink that points to one of bertini-parallel
and bertini-serial
, depending on which got compiled (I wrote the B1 compilation setup using Autotools)
bertini
(bertini-parallel) runs on multiple cores via MPI. So, launch as you would any other MPI-parallel program. Probably mpirun -n 64 bertini
or something if you want 64 processes to work together. See the notes for the specific cluster / computer you're using on how to launch MPI programs in parallel, especially if there's a queueing manager in the works.
Thank you! I will need to find out how I can launch MPI programs in parallel on my server. Let me close this issue and launch another if there is any additional issue.
Thank you again for your efforts on answering my silly questions.
"sir"
I'm a woman.
"sir"
I'm a woman.
I am so sorry for my misbehavior! Just edited the comment.
thank you.
Hi, I would like to use a cluster of CPUs to run Bertini so I am trying to compile from the source code in a remote server. Currently, when I tried
./configure
, thelibmpc
could not be found. Here's the error message:configure: error: unable to find
libmpcfor complex arithmetic. should have come with mpfr? you need it for bmp_complex.
The
libmpc
does exist in the server, under/usr/lib64/
, but when I tried to add options like./configure LDFLAGS="-L/usr/lib64"
, the same error message appears. If I append LD_LIBRARY_PATH with the directory /usr/lib64/, it also does not work.I am wondering how I can explicitly link the libmpc when configuring?
I am sorry for the silly question. Thank you!