Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Make a sync in a different directory.
authorNavarrop <Pierre.Navarro@imag.fr>
Thu, 10 Nov 2011 16:14:03 +0000 (17:14 +0100)
committerNavarrop <Pierre.Navarro@imag.fr>
Thu, 10 Nov 2011 16:14:28 +0000 (17:14 +0100)
buildtools/Cmake/Distrib.cmake
doc/bindings.doc

index c5a0c3d..207fd63 100644 (file)
@@ -316,8 +316,8 @@ add_custom_target(sync-gforge-doc
 COMMAND chmod g+rw -R doc/
 COMMAND chmod a+rX -R doc/
 COMMAND rsync --verbose --cvs-exclude --compress --delete --delete-excluded --rsh=ssh --ignore-times --recursive --links --perms --times --omit-dir-times 
 COMMAND chmod g+rw -R doc/
 COMMAND chmod a+rX -R doc/
 COMMAND rsync --verbose --cvs-exclude --compress --delete --delete-excluded --rsh=ssh --ignore-times --recursive --links --perms --times --omit-dir-times 
-doc/html/ scm.gforge.inria.fr:/home/groups/simgrid/htdocs/${release_version}/doc/ || true
-COMMAND scp doc/html/simgrid_modules2.png doc/html/simgrid_modules.png doc/webcruft/simgrid_logo.png  doc/webcruft/simgrid_logo_small.png scm.gforge.inria.fr:/home/groups/simgrid/htdocs/${release_version}/
+doc/html/ scm.gforge.inria.fr:/home/groups/simgrid/htdocs/simgrid/${release_version}/doc/ || true
+COMMAND scp doc/html/simgrid_modules2.png doc/html/simgrid_modules.png doc/webcruft/simgrid_logo.png  doc/webcruft/simgrid_logo_small.png scm.gforge.inria.fr:/home/groups/simgrid/htdocs/simgrid/${release_version}/
 WORKING_DIRECTORY "${CMAKE_HOME_DIRECTORY}"
 )
 add_dependencies(sync-gforge-doc simgrid_documentation)
 WORKING_DIRECTORY "${CMAKE_HOME_DIRECTORY}"
 )
 add_dependencies(sync-gforge-doc simgrid_documentation)
index c1b14d2..f88237a 100644 (file)
@@ -2,6 +2,12 @@
 
 \htmlinclude .bindings.doc.toc
 
 
 \htmlinclude .bindings.doc.toc
 
+\section bindings_binding_Java Java Binding
+<a href="http://simgrid.gforge.inria.fr/simgrid-java/1.0/doc/">Simgrid-Java documentation</a>.
+
+\section bindings_binding_Ruby Ruby Binding
+<a href="http://simgrid.gforge.inria.fr/simgrid-ruby/1.0/doc/">Simgrid-Ruby documentation</a>.
+
 \section bindings_binding_lua Lua Binding
 
 Most of Simgrid modules require a  good level in C programming, since simgrid is used to be as standard C library.
 \section bindings_binding_lua Lua Binding
 
 Most of Simgrid modules require a  good level in C programming, since simgrid is used to be as standard C library.
@@ -147,246 +153,4 @@ Yes, Here too you have to resgiter your application before running the simulatio
 
 the full example is distributed in the file examples/lua/master_slave_bypass.lua
 
 
 the full example is distributed in the file examples/lua/master_slave_bypass.lua
 
-\section bindings_binding_ruby Ruby Binding
-
-\subsection bindings_binding_ruby_install How to install Simgrid-ruby
-
-To use Ruby with Simgrid you have to install some dependancies:
- \li Simgrid (see \ref installSimgrid_cmake). Be sure having set the environment variable "SIMGRID_ROOT". 
- \li Ruby package.
-Then Download and install package Simgrid-ruby:
-\verbatim
-git clone git://scm.gforge.inria.fr/simgrid/simgrid-ruby.git
-cd simgrid-ruby
-cmake .
-\endverbatim
- Cmake output
-\verbatim
--- SITE        : Linux_2.6.38-8-generic_x86_64
--- BUILDNAME   : Simgrid-Ruby
--- Looking for lib SimGrid
--- Looking for lib SimGrid - found
--- Simgrid version : 3.6
--- Looking for gras.h
--- Looking for gras.h - found
--- Found Tesh: /home/user/Bureau/simgrid/git/bin/tesh
--- Found gras_stub_generator: /home/user/Bureau/simgrid/git/bin/gras_stub_generator
--- Found ruby: /usr/bin/ruby
--- Looking for ruby.h
--- Looking for ruby.h - found
--- Looking for confi.h
--- Looking for config.h - found
--- Looking for lib ruby
--- Looking for lib ruby - found
--- Lib ruby version: 1.9.1
--- Configuring done
--- Generating done
--- Build files have been written to: /home/user/workspace/simgrid-ruby/build
-\endverbatim
-
-\subsection bindings_binding_ruby_simgrid Use Ruby in Simgrid
-Since v3.4, the use of <a href="http://ruby-lang.org">ruby</a> in simgrid is available for the MSG Module.
-you can find almost all MSG functionalities in Ruby code, that allows you to set up your environment, manage tasks between hosts and run the simulation.
-
-\subsection bindings_binding_ruby_example Master/Slave Ruby Application
-for each process method(master and slave in this example), you have to associate a ruby class, that should inherit from <i>MSG::Process</i> ruby class,
-  with a 'main' function that describe the behaviour of the process during the simulation.
-\li required stuff
-\verbatim
-require 'simgrid'
-include MSG
-\endverbatim
-
-\li Master code
-\verbatim
-class Master < MSG::Process 
-  # main : that function that will be executed when running simulation
-
-  def main(args) # args is an array containing arguments for function master
-   size = args.size
-   for i in 0..size-1
-     MSG::info("args["+String(i)+"]="+args[i])
-   end
-  
-   raise "Master needs 3 arguments" if size < 3 
-   numberOfTask = Integer(args[0]) 
-   taskComputeSize = Float(args[1])
-   taskCommunicationSize = Float(args[2])
-   slaveCount = Integer(args[3]) 
-   
-   # Creates and sends the tasks
-    for i in 0..numberOfTask-1
-     task = Task.new("Task_"+ i.to_s, taskComputeSize , taskCommunicationSize);
-     mailbox = "slave " + (i%slaveCount).to_s
-     MSG::info("Master Sending "+ task.name + " to " + mailbox + " with Comput Size " + 
-           task.compSize.to_s)
-     task.send(mailbox)
-     MSG::info("Master Done Sending " + task.name + " to " + mailbox)
-    end
-  
-   # Sending Finalize MSG::Tasks
-   MSG::info("Master: All tasks have been dispatched. Let's tell everybody the computation is over.")
-   for i in 0..slaveCount-1
-     mailbox = "slave " + i.to_s
-     finalize_task = Task.new("finalize",0,0)
-     finalize_task.send(mailbox)
-   end
-   MSG::info("Master : Everything's Done")
-  end    
-end
-\endverbatim
-
-
-the class MSG::Task contains methods that allows the management of the native MSG tasks.
-in master ruby code we used : 
-  - <i>MSG::Task.new(task_name,compute_size,communication_size)</i> : to instanciate a new task.
-  - <i>MSG::Task.send(mailbox)</i> : to send the task via a mailbox alias.
-  - <i>MSG::Task.name</i> : to get the task's name.
-
-\li Slave code
-\verbatim
-class Slave < MSG::Process
-
-  def main(args)
-    mailbox = "slave " + args[0]
-    for i in 0..args.size-1
-      MSG::debug("args["+String(i)+"]="+args[i])
-    end
-
-    while true
-       MSG::info("Slave '"+ mailbox +"' waiting for new task");
-       task = Task.receive(mailbox)
-       if (task.name == "finalize")
-              break
-       end
-       task.execute
-       MSG::info("Slave '" + mailbox + "' done executing task "+ task.name + ".")
-    end
-    MSG::info("I'm done, see you")
-  end
-end
-\enverbatim
-to receive a task, we use the method <i>MSG::Task.receive(mailbox)</i> that return a MSG:Task object (received task).
-
-\li Main chunk
-
-\verbatim
-require 'simgrid'
-include MSG
-(...)
-
-if (ARGV.length == 2) 
-       MSG.createEnvironment(ARGV[0])
-       MSG.deployApplication(ARGV[1])
-
-else
-
-       MSG.createEnvironment("platform.xml")
-       MSG.deployApplication("deploy.xml")
-end
-MSG.run
-puts "Simulation time : " + MSG.getClock.to_s
-MSG.exit
-\endverbatim
-
-- <i>MSG.createEnvironment(platform_file)</i> : set up the environment
-- <i>MSG.deployApplication(deployment_file)</i> : load the deployment file description.
-- <i>MSG.run</i> : run the simulation
-
-\subsection bindings_binding_ruby_data Exchanging data 
-ruby bindings provides two ways to exchange data between ruby processes.
-\li MSG::Task.join & MSG::Task.data <br/>
-
-  the MSG::Task class contains 2 methods that allows a data exchange between 2 process.
-  
-  -<i>MSG::Task.join</i> : makes possible to join any kind of ruby data within a task.
-  \verbatim
-   ...
-   myTable = Array.new
-   myTable <<1<<-2<<45<<67<<87<<76<<89<<56<<78<<3<<-4<<99
-   # Creates and send Task With the Table inside
-   task = MSG::Task.new("quicksort_task",taskComputeSize, taskCommunicationSize);
-   task.join(myTable);
-   ...
-   task.send(mailbox);
-   \endverbatim
-   -<i>MSG::Task.data</i> : to access to the data contained into the task.
-   \verbatim
-   ...
-   task = MSG::Task.receive(recv_mailbox.to_s)
-   table = task.data
-   quicksort(table,0,table.size-1)
-   ...
-   \endverbatim
-you can find a complet example illustrating the use of those methods  in file /example/ruby/Quicksort.rb
-
-\li inheritence 
- another 'object-oriented' way to do it, is to make your own 'task' class that inherit from  MSG::Task ,
- and contains data you want to deal with, the only 'tricky' thing is that "the initializer" method has no effect ! 
- the use of some getter/setter methods would be the simple way to manage your data :)
- \verbatim
-class PingPongTask < MSG::Task
-  # The initialize method has no effect 
-  @time 
-  def setTime(t)
-    @time = t
-  end
-  def getTime()
-    return @time
-  end
-end
- \endverbatim
- you can find an example of use in file example/ruby/PingPong.rb
-
-
-\section bindings_binding_java Java Binding
-
-\subsection bindings_binding_java_install How to install Simgrid-java
-
-To use java with Simgrid you have to install some dependancies:
- \li Simgrid (see \ref installSimgrid_cmake). Be sure having set the environment variable "SIMGRID_ROOT". 
- \li Java packages: sun-java6-jdk and libgcj10-dev. If you cannot find the
-libgcj10-dev, try another version.
-Then Download and install package Simgrid-java:
-\verbatim
-git clone git://scm.gforge.inria.fr/simgrid/simgrid-java.git
-cd simgrid-java
-cmake .
-\endverbatim
-Cmake output
-\verbatim
--- SITE        : Linux_2.6.38-8-generic_x86_64
--- BUILDNAME   : Simgrid-Java
--- Looking for lib SimGrid
--- Looking for lib SimGrid - found
--- Simgrid version : 3.6
--- Looking for gras.h
--- Looking for gras.h - found
--- Found Tesh: /home/user/Bureau/simgrid/git/bin/tesh
--- Found gras_stub_generator: /home/user/Bureau/simgrid/git/bin/gras_stub_generator
--- Java version 1.6.0.22 configured successfully!
--- Looking for jni.h
--- Looking for jni.h - found
--- Add flags -I/usr/lib/jvm/java-6-openjdk/include
--- Looking for jni_md.h
--- Looking for jni_md.h - found
--- Found javac: /usr/bin/javac
--- Found jar: /usr/bin/jar
--- Configuring done
--- Generating done
--- Build files have been written to: /home/user/workspace/simgrid-java/build
-\endverbatim
-\subsection bindings_binding_java_use Use Java in Simgrid
-
-The use of java in simgrid is available for the MSG Module. You can find almost all MSG functionalities 
-in Java code (\ref MSG_JAVA).
-
  */
\ No newline at end of file
  */
\ No newline at end of file