From: Florian Blanc (blanc.flori_at_gmail.com)
Date: Fri Aug 04 2017 - 10:17:27 CDT
Dear NAMD users,
I am trying to run multiple-copy simulations with an MPI build of NAMD
(either 2.11 or recent Git version). But, I am having trouble setting up
the communication between the replicas using replicaSend and
replicaRecv. Here is a minimal example in which I try to send the value
of a variable from one replica to another at the end of the run. This is
just a dummy case to illustrate the problem I am facing, which I think
relates to my misunderstanding of the syntax of the replicaSend and
replicaRecv commands.
# BEGINNING SCRIPT
replicaBarrier
set replica_id [myReplica]
set num_replicas [numReplicas]
# set a different temperature for each replica
set temperature [ expr 100.0 + 100.0*double($replica_id) ]
# Declare all NAMD simulation parameters
# ...
run 100
replicaBarrier
# And now try to send the value of temperature from replica 1 to replica 0:
if { $replica_id == 1 } {
replicaSend $temperature 0
}
elseif { $replica_id == 0 } {
# receive the value of temperature and store it in variable foo
set foo [replicaRecv 1]
}
# END
I execute this code with a command like:
mpirun -np 2 namd2 +replicas 2 initial.conf +stdout ./%03d/replica%03d.log
and obtain the following error when NAMD attempts to execute the part of
the script that deals with inter-replica communication:
REPLICA 0 FATAL ERROR: wrong # args for NAMD config parameter
while executing
"elseif { $replica_id == 0 } {
set foo [replicaRecv 1]
}"
As I understand it, it tells me that the number of arguments for the
function replicaRecv is wrong. I am confused, because in the
documentation it is said that replicaRecv takes as argument the
identifier of the source process, that is, the one which sent the data.
I had the impression that I had respected this syntax.
Note that everything before this (setting up and running the simulation)
works fine.
Could you please help me figure out what I am missing regarding how
replicaSend and replicaRecv are supposed to be used?
Many thanks in advance for your help, and I apologize if my request is
insufficiently clear.
Florian Blanc
PhD student, University of Strasbourg
This archive was generated by hypermail 2.1.6 : Mon Dec 31 2018 - 23:20:29 CST