\li ccmake for graphical used of CMake
\li cmake <a href="http://www.cmake.org/cmake/resources/software.html">(download page)</a>
-For windows only :
- \li Visual C++ 2010 Express <a href="http://www.microsoft.com/express/Downloads/#2010-Visual-CPP">(download page)</a>
- \li cmake <a href="http://www.cmake.org/cmake/resources/software.html">(download page)</a>
- \li Set CC, CXX, INCLUDE, LIB and RC to environment variables.
-\verbatim
-SET --> CC TO --> C:\MicrosoftVisualStudio10\VC\bin\cl
- --> CXX --> C:\MicrosoftVisualStudio10\VC\bin\cl
- --> INCLUDE --> C:\MicrosoftVisualStudio10\VC\include;C:\Program Files\Microsoft SDKs\Windows\v7.OA\Include
- --> LIB --> C:\MicrosoftVisualStudio10\VC\lib;C:\Program Files\Microsoft SDKs\Windows\v7.OA\Lib
- --> RC --> C:\Program Files\Microsoft SDKs\Windows\v7.OA\bin\RC
-\endverbatim
- \li Add to environment variable "Path" the path where to find nmake executable and some needed files.
-\verbatim
-......
-;C\MicrosoftVisualStudio10\VC\bin
-;C\MicrosoftVisualStudio10\Common7\IDE
-;C:\Program Files\Microsoft SDKs\Windows\v7.OA\bin
-;C:\Program Files\Microsoft SDKs\Windows\v7.OA\Lib
-;C:\Program Files\Microsoft SDKs\Windows\v7.OA\bInclude
-\endverbatim
-\subsection faq_cmakeoption Cmake options
-
\subsubsection faq_cmakeoption1 Liste of options
\verbatim
\subsubsection faq_cmakeinstall2 From a distrib
\verbatim
-cmake -Dprefix=/home/navarrop/Bureau/install_simgrid ./
-make
-make install
+For version 3.4.1 and 3.4
+ cmake -Dprefix=/home/navarrop/Bureau/install_simgrid ./
+ make
+ make install-simgrid
+Since version 3.5
+ cmake -Dprefix=/home/navarrop/Bureau/install_simgrid ./
+ make
+ make install
\endverbatim
\subsection faq_cmakehowto How to modified sources files for developers
\subsubsection faq_MIA_asynchronous I want to do asynchronous communications in MSG
-Up until now, there is no asynchronous communications in MSG. However,
-you can create as many process as you want so you should be able to do
-whatever you want... I've written a queue module to help implementing
-some asynchronous communications at low cost (creating thousands of
-process only to handle communications may be problematic in term of
-performance at some point). I'll add it in the distribution asap.
+In the past (version <= 3.4), there was no function to perform asynchronous communications.
+It could easily be implemented by creating new process when needed though. Since version 3.5,
+we have introduced the following functions:
+ - MSG_task_isend()
+ - MSG_task_irecv()
+ - MSG_comm_test()
+ - MSG_comm_wait()
+ - MSG_comm_waitall()
+ - MSG_comm_waitany()
+ - MSG_comm_destroy()
+
+We refer you to the description of these functions for more details on their usage as well
+as to the exemple section on \ref MSG_ex_asynchronous_communications.
\subsubsection faq_MIA_thread_synchronization I need to synchronize my MSG processes
-You obviously cannot use pthread_mutexes of pthread_conds. The best
-thing would be to propose similar structures. Unfortunately, we
-haven't found time to do it yet. However you can try to play with
-MSG_process_suspend() and MSG_process_resume(). You can even do some
-synchronization with fake communications (using MSG_task_get(),
+You obviously cannot use pthread_mutexes of pthread_conds since we handle every
+scheduling related decision within SimGrid.
+
+In the past (version <=3.3.4) you could do it by playing with
+MSG_process_suspend() and MSG_process_resume() or with fake communications (using MSG_task_get(),
MSG_task_put() and MSG_task_Iprobe()).
+Since version 3.4, you can use classical synchronization structures. See page \ref XBT_synchro or simply check in
+include/xbt/synchro_core.h.
+
\subsubsection faq_MIA_host_load Where is the get_host_load function hidden in MSG?
There is no such thing because its semantic wouldn't be really
For <em>LINK</em> we have:
\verbatim
LINK = {
- src = SrcHost;
- dst = DstHost;
+ src = source;
+ dst = destination;
size = bandwidth;
scale = global;
For the types specified in the <em>edge</em> parameter (such as <em>LINK</em>),
the configuration must contain two additional parameters: <em>src</em> and
<em>dst</em> that are used to properly identify which nodes this edge is
-connecting. The values <em>SrcHost</em> and <em>DstHost</em> are always present
+connecting. The values <em>source</em> and <em>destination</em> are always present
in the SimGrid trace file and should not be changed in the configuration. The
parameter <em>size</em> for the LINK, in this case, is configured as the
variable <em>bandwidth</em>, with a <em>global</em> scale. The scale meaning
};
LINK = {
- src = SrcHost;
- dst = DstHost;
+ src = source;
+ dst = destination;
size = bandwidth;
scale = global;
};
};
LINK = {
- src = SrcHost;
- dst = DstHost;
+ src = source;
+ dst = destination;
size = bandwidth;
scale = global;
\li set Hosts
\verbatim
- simgrid.Host.new("Tremblay",98095000);
- simgrid.Host.new("Jupiter",76296000);
- simgrid.Host.new("Fafard",76296000);
- simgrid.Host.new("Ginette",48492000);
- simgrid.Host.new("Bourassa",48492000);
+ simgrid.Host.new{id="Tremblay",power=98095000};
+ simgrid.Host.new{id="Jupiter",power=76296000};
+ simgrid.Host.new{id="Fafard",power=76296000};
+ simgrid.Host.new{id="Ginette",power=48492000};
+ simgrid.Host.new{id="Bourassa",power=48492000};
\endverbatim
- we use simgrid.Host.new(host_id,power) to instanciate our hosts.
+ we use simgrid.Host.new{id=id_host,power=power_host} to instanciate our hosts.
\li set Links
\verbatim
for i=0,11 do
- simgrid.Link.new(i,252750+ i*768,0.000270544+i*0.087); -- some crazy values ;)
+ simgrid.Link.new{id=i,bandwidth=252750+ i*768,latency=0.000270544+i*0.087}; -- some crazy values ;)
end
\endverbatim
- we used simgrid.Link.new(link_id,bandwidth,latency) with a simple for loop to create all links we need ( much easier than XML hein ? )
+ we used simgrid.Link.new{id=link_id,bandwidth=bw,latency=lat} with a simple for loop to create all links we need (much easier than XML hein ?)
\li set Routes
\verbatim