File: t_PythonFunction_multiprocessing.py

package info (click to toggle)
openturns 1.24-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 66,204 kB
  • sloc: cpp: 256,662; python: 63,381; ansic: 4,414; javascript: 406; sh: 180; xml: 164; yacc: 123; makefile: 98; lex: 55
file content (24 lines) | stat: -rwxr-xr-x 444 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#! /usr/bin/env python

import openturns as ot
import multiprocessing


ot.TESTPREAMBLE()


def myfunPython(x):
    n = x[0]
    y = [1.0 / (2.0**n)]
    return y


if __name__ == "__main__":
    n_cpus = multiprocessing.cpu_count()
    nsim = 1000
    myfun = ot.PythonFunction(1, 1, myfunPython, n_cpus=n_cpus)

    X = [[i] for i in range(nsim)]
    Y = myfun(X)
    sum_y = nsim * Y.computeMean()[0]
    assert sum_y == 2.0, "sum 2^-n = 2"