]

# At level 17, we need a bit more space in the buckets.
# This mainly increases the memory consumption of the page size
if scene_depth >= 17:
    #base_defines += [ ("BUCKETS_SIZE_FOR_LOW_LEVELS", (2*2048)) ];
    #base_defines += [ ("BUCKETS_SIZE_FOR_TOP_LEVELS", (2048)) ];
    pass

path = get_result_path("copy_compdecomp")

normal6 = base_defines + [
    ("COPY_WITHOUT_DECOMPRESSION", "0"),
    ("COPY_EMPTY_CHECKS", "0"),
]
run(normal6, "scene={}_depth={}_t6_normal".format(scene, scene_depth), path)

comp6 = base_defines + [
    ("COPY_WITHOUT_DECOMPRESSION", "1"),
    ("COPY_EMPTY_CHECKS", "0"),
]
run(comp6, "scene={}_depth={}_t6_comp".format(scene, scene_depth), path)

comp6e = base_defines + [
    ("COPY_WITHOUT_DECOMPRESSION", "1"),
    ("COPY_EMPTY_CHECKS", "1"),
]
run(comp6e, "scene={}_depth={}_t6_compempty".format(scene, scene_depth), path)

comp6e = base_defines + [
    ("COPY_WITHOUT_DECOMPRESSION", "0"),
assert len(sys.argv) == 3, "Usage: python script.py scene_name scene_depth"

scene = sys.argv[1]
scene_depth = int(sys.argv[2])
replay_name = "tree_copy2"

base_defines = [
    ("SCENE", "\"{}\"".format(scene)),
    ("SCENE_DEPTH", "{}".format(scene_depth)),
    ("REPLAY_NAME", "\"{}\"".format(replay_name)),
    ("USE_BLOOM_FILTER", "0"),
    ("EDITS_COUNTERS", "1"),
    ("COUNT_COPIED_VOXELS", "1"),
    ("THREADED_EDITS", "1"),
    ("NUM_THREADS", 6),
    ("USE_VIDEO", "0"),
    ("COPY_APPLY_TRANSFORM", "0"),
    ("COPY_CAN_APPLY_SWIRL", "0"),
    ("VERBOSE_EDIT_TIMES", "0"),
    ("TRACK_GLOBAL_NEWDELETE", "0"), # XXX
    ("TRACY_ENABLE", "0"),
    ("COPY_WITHOUT_DECOMPRESSION", "0"),
    ("COPY_EMPTY_CHECKS", "0"),
]

path = get_result_path("copy_edit_voxels_sm")

run(base_defines, "scene={}_depth={}".format(scene, scene_depth), path)

#EOF
assert len(sys.argv) == 3, "Usage: python script.py scene_name scene_depth"

scene = sys.argv[1]
scene_depth = int(sys.argv[2])
replay_name = "small_edits"

num_threads = ["2", "4", "6"]
base_defines = [
    ("SCENE", "\"{}\"".format(scene)),
    ("SCENE_DEPTH", "{}".format(scene_depth)),
    ("REPLAY_NAME", "\"{}\"".format(replay_name)),
    ("USE_BLOOM_FILTER", "0"),
    ("EDITS_ENABLE_COLORS", "0"),
    ("EDITS_COUNTERS", "1"),
]

path = get_result_path("edits")

unthreaded = base_defines + [("THREADED_EDITS", "0")]
run(unthreaded, "scene={}_depth={}_nothread".format(scene, scene_depth), path)

for i in range(len(num_threads)):
    nt = num_threads[i]
    threaded = base_defines + [("THREADED_EDITS", "1"),
                               ("NUM_THREADS", num_threads[i])]
    run(
        threaded, "scene={}_depth={}_thread{}".format(scene, scene_depth,
                                                      num_threads[i]), path)
pass
import sys

from benchmark_paths import get_result_path
from benchmark_tools import run

assert len(sys.argv) == 3, "Usage: python script.py scene_name scene_depth"

scene = sys.argv[1]
scene_depth = int(sys.argv[2])
replay_name = "singleframe"

page_sizes = [1024, 128, 256, 512]

base_defines = [
    ("SCENE", "\"{}\"".format(scene)),
    ("SCENE_DEPTH", "{}".format(scene_depth)),
    ("REPLAY_NAME", "\"{}\"".format(replay_name)),
    ("ENABLE_CHECKS",
     "1"),  # nice to have and no impact as we are looking at the memory usage
    ("BUCKETS_BITS_FOR_LOW_LEVELS", "16")
]

path = get_result_path("page_size_memory_overhead")

for i in range(len(page_sizes)):
    ps = page_sizes[i]
    threaded = base_defines + [("PAGE_SIZE", ps)]
    run(threaded,
        "scene={}_depth={}_pagesize={}".format(scene, scene_depth, ps), path)
예제 #5
0
import sys

from benchmark_paths import get_result_path
from benchmark_tools import run

assert len(sys.argv) == 3, "Usage: python script.py scene_name scene_depth"

scene = sys.argv[1]
scene_depth = int(sys.argv[2])
replay_name = "move"

base_defines = [
    ("REPLAY_TWICE", "1"),
    ("ENABLE_SHADOWS", "0"),
    ("SCENE", "\"{}\"".format(scene)),
    ("SCENE_DEPTH", "{}".format(scene_depth)),
    ("REPLAY_NAME", "\"{}\"".format(replay_name)),
]

path = get_result_path("rt")

run(base_defines + [("USE_NORMAL_DAG", "1")],
    "scene={}_depth={}_normal_dag".format(scene, scene_depth), path)
run(base_defines + [("USE_NORMAL_DAG", "0")],
    "scene={}_depth={}_hash_dag".format(scene, scene_depth), path)
예제 #6
0
    bucket_bits = [18, 17, 16]
    bucket_sizes = [1024 + 512, 2048, 2048 + 1024]

threads = "1"

num_threads = "6"
base_defines = [
    ("SCENE", "\"{}\"".format(scene)),
    ("SCENE_DEPTH", "{}".format(scene_depth)),
    ("REPLAY_NAME", "\"{}\"".format(replay_name)),
    ("USE_BLOOM_FILTER", "0"),
    ("EDITS_COUNTERS", "1"),
    ("THREADED_EDITS", threads),
    ("NUM_THREADS", num_threads),
    ("EDITS_ENABLE_COLORS", "0"),
    ("PAGE_SIZE", "128"),
    #("BUCKETS_BITS_FOR_TOP_LEVELS", "9")
]

path = get_result_path("bucket_count")

for i in range(len(bucket_bits)):
    bb = bucket_bits[i]
    bs = bucket_sizes[i]
    threaded = base_defines + [("BUCKETS_BITS_FOR_LOW_LEVELS", bb),
                               ("BUCKETS_SIZE_FOR_LOW_LEVELS", bs)]
    run(threaded,
        "scene={}_depth={}_bbits{}_bsize{}".format(scene, scene_depth, bb,
                                                   bs), path)
pass
import sys

from benchmark_paths import get_result_path
from benchmark_tools import run

assert len(sys.argv) == 3, "Usage: python script.py scene_name scene_depth"

scene = sys.argv[1]
scene_depth = int(sys.argv[2])
replay_names = ["teaser_statue", "teaser_church"]

base_defines = [("SCENE", "\"{}\"".format(scene)),
                ("SCENE_DEPTH", "{}".format(scene_depth)),
                ("USE_BLOOM_FILTER", "0"), ("EDITS_COUNTERS", "1"),
                ("COUNT_COPIED_VOXELS", "1"), ("THREADED_EDITS", "1"),
                ("REPLAY_DEPTH", "17"), ("NUM_THREADS", 6)]

if scene_depth >= 17:
    base_defines += [("BUCKETS_SIZE_FOR_LOW_LEVELS", (2048 + 1024))]

path = get_result_path("teaser_voxels")

for i in range(len(replay_names)):
    name = replay_names[i]
    defs = base_defines + [("REPLAY_NAME", "\"{}\"".format(name))]
    run(defs, "scene={}_depth={}_{}".format(scene, scene_depth, name), path)
pass

#EOF
예제 #8
0
    if len(values) > 1:
        interesting_defines.append(name)

print(args)

subfolder = datetime.datetime.today().strftime('%Y-%m-%d-%H-%M-%S') + "".join(
    ["_" + define for define in interesting_defines])
subfolder_path = root + "/profiling/" + subfolder

os.mkdir(subfolder_path)

with open(subfolder_path + "/commandline.txt", "w") as file:
    file.write(str(args))

defines = [[]]
for name, values in args.items():
    new_defines = []
    for value in values:
        for define in defines:
            new_defines.append(define + [(name, value)])
    defines = new_defines

for define in defines:
    prefix = ""
    for name, value in define:
        if name in interesting_defines:
            if len(prefix) > 0:
                prefix += "_"
            prefix += "{}={}".format(name, value)
    run(define, prefix, subfolder_path)