-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
72 lines (48 loc) · 1.7 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
POSH
Paris OpenSHMEM
What is it?
-----------
POSH (Paris OpenSHMEM) is an implementation of the OpenSHMEM standard [1] for
shared-memory systems. It relies of the Boost library for inter-process
communications. It is both a high-performance communication library, and a
testbed for research on distributed algorithms on the communication model
followed and implemented by OpenSHMEM.
[1] http://openshmem.org
Contents
--------
POSH is made of several components:
- the libshmem.so library
- the run-time environment: spawn
- the compiler: shmemcc
The shmemcc compiler first performs an initial parsing of the source code in
order to insert global, static variables handling. Then it calls your regular
C++ compiler in order to generate the source code and link the executable binary
with the libshmem library.
shmemcc -O3 -Wall -o mycode mycode.c
The executable binary must be executed by the run-time environment:
spawm -n 4 ./mycode
The Latest Version
------------------
Details of the latest version can be found on [2]. For details on this version,
please see the file called NEWS.
[2] http://lipn.univ-paris13.fr/~coti/POSH
Dependencies
------------
POSH was written en C++11.
POSH relies on:
- flex
- perl
- some parts of Boost: Boost.Interprocess, Boost.Thread and Boost.System
Installation
------------
Please see the file called INSTALL.
Example code
------------
A small piece of OpenSHMEM code was written and placed in the example/ directory.
Please see the file called INSTALL for more information.
Licensing
---------
Please see the file called LICENSE.
Contact and author
------------------
Please see the file called AUTHOR.