You got it!
That was the point I was looking for someone to get.
When you compile something to NaCl, in the end it will be a binary code
with some "dangerous instruction" not being allowed, such as those need for
Forking and executing code that was not verified by the validator. So in
average, Google says that code near 95% it's original performance.
A typical scenario for NaCl would be a Web page, with a prompt that passes
messages to the Native Client module to be executed and the output is print
to some HTML element on that page.
So you could add a button that would "upload" a MEEP script to the module
to be executed.
Of course, this "upload" process is only a way to call a script that will
be executed in the local browser, through the Native Client process.
You can understand a Native Client module as an element in a Webpage that
is listening to commands and it can callback your webpage when it deems
it's necessary.
So an way to port MEEP, would be to add an Handler function that will
receive an Scheme command that was written in an input box on the webpage
and then updating MEEP internal state within the module.
When MEEP wants to send a message to the user, it will call a post method
to report what is needed and a Javascript function will put this message,
somewhere on the Webpage.
So if you think that if a user open a webpage with a MEEP script embedded,
it could start running immediately and then report the results to your
server, without much user interaction.

If you need more information, please, be free to ask me.
I have already made a small project with Physical simulations using NaCl,
but I'm no expert in this technology.
We can discuss issues with Google developers which are very supportive, if
you got interested in the project.
I can't port MEEP to this technology by myself, but with some help, I think
it will very straightforward.




On Thu, May 23, 2013 at 12:17 PM, Filip Dominec <filip.domi...@gmail.com>wrote:

> Hi, the suggested project is appealing to me because it seems it could
> greatly simplify installation procedure of MEEP at Windows. I can
> imagine convincing many colleagues at the institute to run FDTD
> simulations when their computer is idle...
> However, not knowing anything about NaCl, I am still concerned about
> the performance; usually one wants to compile MEEP from sources to get
> the optimized code for their particular architecture. On the other
> hands, if whole MEEP is compiled before being run, quite a lot of
> external dependencies will have to be packed.
> So far, it is possible to run a simulation of sodium chloride in MEEP,
> but not vice versa. How should a typical scenario of MEEP under NaCl
> look like?
> F.
>
> 2013/5/22, Fernando Carvalho <fernandocarvalhocoe...@gmail.com>:
> > There will be no major performance impacts to the user, because it will
> run
> > a machine code, directly compiled from a C++ source by a GCC compiler
> > variant for Native Client.
> > To the user, the main benefit is that the same binary blob can be
> executed
> > in any operating system that Chrome or Chromium is fully ported
> (currently
> > with the exception of iOS and Android).
> > For developers, it will be a way to create a huge distributed processing
> > community for MEEP, that will unleash possibilities of discovering many
> new
> > structures, with a cheap processing cost.
> > If want to know more, you can ask me directly or read a little in this
> > brief explanation:
> > https://developers.google.com/native-client/overview
> >
> >
> >
> > On Wed, May 22, 2013 at 3:43 AM, Filip Dominec
> > <filip.domi...@gmail.com>wrote:
> >
> >> Hi, I did not know this project before. What would be the greatest
> >> benefits for the user? Would it not impact the performance too much?
> >> Filip
> >>
> >> 2013/5/21, Fernando Carvalho <fernandocarvalhocoe...@gmail.com>:
> >> > Hi everyone,
> >> >
> >> > Recently, Google Developers, at Google IO 2013, had announced PNaCl
> >> (Native
> >> > Client <https://developers.google.com/native-client/>), an Open
> Source
> >> > technology that will allow developers to compile to LLVM intermediate
> >> > instruction, before being optimized to a target platform.
> >> > I've been working with some small simulations in an application
> >> > developed
> >> > within my staff, that can be massively distributed though the web, in
> >> order
> >> > to optimize some parameters, and it seems to work properly.
> >> > So I would like to know, if there are any interested developers in
> such
> >> > a
> >> > project.
> >> > PNaCl have an specific compiler, that is compliant gcc, and a set of
> >> > libraries that talk to the browser, instead of the underlying
> operating
> >> > system.
> >> > The prize to invest in this kind of port, is that the application can
> >> > run
> >> > in whatever platform that Chrome/Chromium is able to run.
> >> >
> >> > --
> >> > Fernando
> >> >
> >>
> >
> >
> >
> > --
> > Fernando
> >
>



-- 
Fernando
_______________________________________________
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to