Thanks, Dirk, for the message. I did wrap the instance of RInside within an MPI aware program to let MPI handle passing the copies to all the nodes. The error  I have found so far is that I didn't pass the R reference correctly, and that causes the huge output of the warning messages. I have corrected it in the test code and the warning message has gone. now I am testing it in the MPI setting..<br>
<br><div class="gmail_quote">On Mon, Feb 13, 2012 at 2:13 PM, Dirk Eddelbuettel <span dir="ltr"><<a href="mailto:edd@debian.org">edd@debian.org</a>></span> wrote:<br><blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">
<div class="im"><br>
On 13 February 2012 at 13:38, Haiying Pang wrote:<br>
| Darren,<br>
|<br>
| I did create the R instance in main(), and pass the reference to another<br>
| function. I do have 1000 CPUs calling that function, but as they don't create<br>
| new R reference, how come there are so many warning messages?   <br>
|<br>
| After reading your message in another thread of yours, I realize that the<br>
| troublesome part might be that the R reference is passed to a function that<br>
| many other CPUs call. what should I do to fix it? if I let each cpu creates its<br>
| own instance of R, will that end up with more warning messages?  <br>
<br>
</div>Now we're talking. Thanks for actually sharing your problem in proper terms.<br>
<br>
In short, you can't do that.<br>
<br>
R is single threaded, and you have to make sure that only thread calls back<br>
to R.  If you have a suitable problem, you can do what is shown in the mpi/<br>
example directory:  wrap RInside inside on an MPI aware program. That way MPI<br>
takes care of getting your program to the nodes, and each node gets its own<br>
copy.  Naturally, this means that you cannot just work on one large chunk of<br>
data.  You need to think your problem through, and maybe RInside is simply<br>
not part of the solution --- it does make any R restrictions (such as single<br>
threadedness) go away.<br>
<span class="HOEnZb"><font color="#888888"><br>
Dirk<br>
</font></span><div><div class="h5"><br>
<br>
| On Sat, Feb 11, 2012 at 8:34 PM, Darren Cook <<a href="mailto:darren@dcook.org">darren@dcook.org</a>> wrote:<br>
|<br>
|     > I am calling a R function through Rcpp and RInside in my c++ program<br>
|     > in Linux. There are a lot of warning messages saying "no graphics<br>
|     > system to unregister" ...Is there anyone who knows the reason and how<br>
|     > to avoid the printing of such warning messages?<br>
|<br>
|     Generally, once you track down the line causing the problem,<br>
|     suppressWarnings() (an R function) might help. Or<br>
|     suppressPackageStartupMessages() or suppressMessages() may help.<br>
|<br>
|     For the cause, are you running on a machine with no GUI or X server?<br>
|<br>
|     However, a google suggests this is a message related to shutting down R,<br>
|     and implies your script has corrupted something. There appears to be no<br>
|     fix as they, like Dirk, insisted on a reproducible example.<br>
|<br>
|     I'm wondering why you would be starting up and shutting down R so many<br>
|     times in your script. Do you create one RInside instance, either as a<br>
|     global, or in main() and then pass it around by reference? Or are you<br>
|     create RInside instances inside other functions, or inside loop bodies?<br>
|     If the latter, can you refactor to do the former so you only have one<br>
|     instance?<br>
|<br>
|     HTH,<br>
|     Darren<br>
|<br>
|<br>
|     --<br>
|     Darren Cook, Software Researcher/Developer<br>
|<br>
|     <a href="http://dcook.org/work/" target="_blank">http://dcook.org/work/</a> (About me and my work)<br>
|     <a href="http://dcook.org/blogs.html" target="_blank">http://dcook.org/blogs.html</a> (My blogs and articles)<br>
|     _______________________________________________<br>
|     Rcpp-devel mailing list<br>
|     <a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br>
|     <a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br>
|<br>
|<br>
|<br>
|<br>
| --<br>
| Haiying Pang<br>
|<br>
</div></div>| ----------------------------------------------------------------------<br>
<div class="im HOEnZb">| _______________________________________________<br>
| Rcpp-devel mailing list<br>
| <a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br>
| <a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br>
--<br>
</div><div class="HOEnZb"><div class="h5">"Outside of a dog, a book is a man's best friend. Inside of a dog, it is too<br>
dark to read." -- Groucho Marx<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Haiying Pang<br>