Skip to content

Commit

Permalink
Modified script used for Python testing so it doesn't use numpy
Browse files Browse the repository at this point in the history
  • Loading branch information
ajanicijamd committed Sep 12, 2024
1 parent 5513f6e commit aa59a01
Show file tree
Hide file tree
Showing 3 changed files with 102 additions and 37 deletions.
83 changes: 83 additions & 0 deletions examples/python/source-numpy.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
#!/usr/bin/python3.10

import os
import sys
import time
import omnitrace
from omnitrace.user import region as omni_user_region

_prefix = ""


def fib(n):
return n if n < 2 else (fib(n - 1) + fib(n - 2))


try:
import numpy as np

def inefficient(n):
print(f"[{_prefix}] ... running inefficient({n}) (1)")
a = 0
for i in range(n):
a += i
for j in range(n):
a += j
_len = a * n * n
_ret = np.random.rand(_len).sum()
print(f"[{_prefix}] ... sum of {_len} random elements: {_ret}")
return _ret

except ImportError as e:
print(f"ImportError: {e}")
import random

def _sum(arr):
print(f"---- in _sum")
return sum(arr)

def inefficient(n):
print(f"[{_prefix}] ... running inefficient({n})")
a = 0
for i in range(n):
a += i
for j in range(n):
a += j
_len = a * n * n
_arr = [random.random() for _ in range(_len)]
_ret = _sum(_arr)
print(f"[{_prefix}] ... sum of {_len} random elements: {_ret}")
return _ret


@omnitrace.profile()
def run(n):
_ret = 0
_ret += fib(n)
_ret += inefficient(n)
return _ret


if __name__ == "__main__":
import argparse

parser = argparse.ArgumentParser()
parser.add_argument("-n", "--num-iterations", help="Number", type=int, default=3)
parser.add_argument("-v", "--value", help="Starting value", type=int, default=20)
parser.add_argument(
"-s",
"--stop-profile",
help="Stop tracing after given iterations",
type=int,
default=0,
)
args = parser.parse_args()

_prefix = os.path.basename(__file__)
print(f"[{_prefix}] Executing {args.num_iterations} iterations...\n")
for i in range(args.num_iterations):
with omni_user_region(f"main_loop"):
if args.stop_profile > 0 and i == args.stop_profile:
omnitrace.user.stop_trace()
ans = run(args.value)
print(f"[{_prefix}] [{i}] result of run({args.value}) = {ans}\n")
54 changes: 18 additions & 36 deletions examples/python/source.py
Original file line number Diff line number Diff line change
@@ -1,51 +1,33 @@
#!@PYTHON_EXECUTABLE@
#!/usr/bin/python3.10

import os
import sys
import time
import omnitrace
from omnitrace.user import region as omni_user_region
import random

_prefix = ""


def fib(n):
return n if n < 2 else (fib(n - 1) + fib(n - 2))


try:
import numpy as np

def inefficient(n):
print(f"[{_prefix}] ... running inefficient({n})")
a = 0
for i in range(n):
a += i
for j in range(n):
a += j
_len = a * n * n
_ret = np.random.rand(_len).sum()
print(f"[{_prefix}] ... sum of {_len} random elements: {_ret}")
return _ret

except ImportError:
import random

def _sum(arr):
return sum(arr)

def inefficient(n):
print(f"[{_prefix}] ... running inefficient({n})")
a = 0
for i in range(n):
a += i
for j in range(n):
a += j
_len = a * n * n
_arr = [random.random() for _ in range(_len)]
_ret = _sum(_arr)
print(f"[{_prefix}] ... sum of {_len} random elements: {_ret}")
return _ret
def _sum(arr):
print(f"---- in _sum")
return sum(arr)

def inefficient(n):
print(f"[{_prefix}] ... running inefficient({n})")
a = 0
for i in range(n):
a += i
for j in range(n):
a += j
_len = a * n * n
_arr = [random.random() for _ in range(_len)]
_ret = _sum(_arr)
print(f"[{_prefix}] ... sum of {_len} random elements: {_ret}")
return _ret


@omnitrace.profile()
Expand Down
2 changes: 1 addition & 1 deletion external/perfetto
Submodule perfetto updated from 35b3d9 to c74251

0 comments on commit aa59a01

Please sign in to comment.