] # 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)
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)
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
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)