BMDFM 5.9.9_R21_b2108
MDFM (Binary Modular DataFlow Machine) is software, which enables running an application in parallel on shared memory symmetric multiprocessors (SMP) using the multiple processor cores to speed up the execution of single applications.
BMDFM automatically identifies and exploits parallelism due to the static and mainly DYNAMIC SCHEDULING of the data flow instruction sequences derived from the formerly sequential program ensuring unique parallel correctness.
No directives for parallel execution are required!
No highly knowledgeable parallel programmers are required!
BMDFM dynamic scheduling subsystem performs an efficient SMP emulation of Tagged-Token DFM to provide the transparent dataflow semantics for applications.
Every machine supporting ANSI C and POSIX/SVR4-IPC may run BMDFM.
BMDFM is provided as compiled multi-threaded versions for:
- x86: Linux/32, FreeBSD/32, OpenBSD/32, NetBSD/32, MacOS/32, SunOS/32, UnixWare/32, Minix/32, Android/32, Win-Cygwin/32, Win-UWIN/32, Win-SFU-SUA/32;
- x86-64: Linux/64, FreeBSD/64, OpenBSD/64, NetBSD/64, MacOS/64, SunOS/64, Android/64, Win-Cygwin/64;
- VAX: Ultrix/32;
- Alpha: Tru64OSF1/64, Linux/64, FreeBSD/64, OpenBSD/64;
- IA-64: HP-UX/32, HP-UX/64, Linux/64, FreeBSD/64;
- XeonPhiMIC: Linux/64;
- MCST-Elbrus: Linux/32, Linux/64;
- PA-RISC: HP-UX/32, HP-UX/64, Linux/32;
- SPARC: SunOS/32, SunOS/64, Linux/32, Linux/64, FreeBSD/64, OpenBSD/64;
- MIPS: IRIX/32, IRIX/64, Linux/32, Linux/64;
- MIPSel: Linux/32, Linux/64, Android/32, Android/64;
- PowerPC: AIX/32, AIX/64, MacOS/32, MacOS/64, Linux/32, Linux/64, FreeBSD/32, FreeBSD/64;
- PowerPCle: Linux/32, Linux/64;
- S/390: Linux/32, Linux/64;
- M68000: Linux/32;
- ARM: Linux/32, Linux/64, FreeBSD/64, Android/32, Android/64, MacOS/64;
- ARMbe: Linux/64;
- RISC-V: Linux/32, Linux/64;
- and a limited single-threaded version for x86: Win/32.