forked from xdsopl/umpi
-
Notifications
You must be signed in to change notification settings - Fork 0
intentionally small and simple MPI implementation
License
caisan/umpi
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
umpi - intentionally small and simple MPI implementation Written in 2014 by <Ahmet Inan> <xdsopl@googlemail.com> To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty. You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>. umpi is written arround process_vm_readv and process_vm_writev in C++11 and uses libc++ for its full C++11 support. To ease the IPC over shared memory, it uses based_ptr, which only saves the offset to a base address (e.g. the starting address of the shared memory map). Finally, a pool allocator using based_ptr and the nice libc++ allows us to use std containers for the IPC. Processes communicate entirely over shared memory and no sockets get opened. This allows us to start thousands of processes on a single shared memory Computer. Dependencies: "Cross Memory Support" in Linux: CONFIG_CROSS_MEMORY_ATTACH=y Option can be found in "Processor type and features" A proper C++11 Standard Library: libc++ http://libcxx.llvm.org/ A proper C99 and C++11 Compiler: clang, clang++ http://clang.llvm.org/ If you would like to help develop umpi and send me Patches: Please try to follow the Linux Coding Style: /usr/src/linux/Documentation/CodingStyle If you do not like the default vim settings and have your own defaults for tabs, please add this to each file you would like to edit and commit it locally: // vim: set noexpandtab tabstop=8 shiftwidth=8 softtabstop=0: you should then be able to switch to the saner defaults before editing by issuing this in vim: :set modeline
About
intentionally small and simple MPI implementation
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C++ 62.0%
- C 37.1%
- Makefile 0.9%