wenzel_utils.compile_wenzel( "hessian", False, compiler_version=WENZEL_COMPILER_VERSION) # initialize arrays for run our_times = [] py_times = [] wenzel_times_static = [] wenzel_times_dynamic = [] for i in range(NUM_ITERATIONS): pytorch = pytorch_utils.run_pytorch_hessian() ours = us_utils.run_ours( functions[func_num], num_params, functions, PARAMS_FILENAME, OUTPUT_FILENAME, runnable_filename= "./tests/utils/static_code/runnable_hessian") wenzel_static = wenzel_utils.run_wenzel("hessian", True) wenzel_dynamic = wenzel_utils.run_wenzel("hessian", False) our_times.append(float(ours[1])) py_times.append(float(pytorch[1])) wenzel_times_static.append(float(wenzel_static[1])) wenzel_times_dynamic.append(float(wenzel_dynamic[1])) # print for debug purposes print("Parameters: ", params[:10]) print("ours: ", ours[0][:10]) print("pytorch: ", pytorch[0][:10])
wenzel_utils.compile_wenzel("single", False, WENZEL_COMPILER_VERSION) # initialize arrays for run our_times = [] py_times = [] wenzel_times_static = [] wenzel_times_dynamic = [] enoki_times = [] tapenade_times = [] for i in range(NUM_ITERATIONS): pytorch = pytorch_utils.run_pytorch() ours = us_utils.run_ours(functions[func_num], num_params, functions, PARAMS_FILENAME, OUTPUT_FILENAME, RUNNABLE_FILENAME) enoki = enoki_utils.run_enoki() wenzel_static = wenzel_utils.run_wenzel("single", True) wenzel_dynamic = wenzel_utils.run_wenzel("single", False) tapenade = tapenade_utils.run_tapenade(functions[func_num], num_params, functions, PARAMS_FILENAME, TAPENADE_OUTPUT, RUNNABLE_TAPENADE) # for j in range(len(ours[0])): # assert math.isclose(float(pytorch[0][j]), float(wenzel[0][j]), abs_tol=10**-3) # assert math.isclose(float(wenzel[0][j]), float(ours[0][j]), abs_tol=10**-3) # assert math.isclose(float(ours[0][j]), float(enoki[0][j]), abs_tol=10**-1) our_times.append(float(ours[1]))
"hessian", False, compiler_version=WENZEL_COMPILER_VERSION) # initialize arrays for run our_times_single = [] our_times_hessian = [] wenzel_times_single_static = [] wenzel_times_hessian_static = [] wenzel_times_single_dynamic = [] wenzel_times_hessian_dynamic = [] for i in range(NUM_ITERATIONS): ours_single = us_utils.run_ours( functions[func_num], num_params, functions, PARAMS_FILENAME, output_filename= "./tests/utils/hessian/us_output_single.txt", runnable_filename= "./tests/utils/static_code/runnable_single") ours_hessian = us_utils.run_ours( functions[func_num], num_params, functions, PARAMS_FILENAME, output_filename= "./tests/utils/hessian/us_output_hessian.txt", runnable_filename= "./tests/utils/static_code/runnable_hessian") wenzel_single_static = wenzel_utils.run_wenzel("single", True) wenzel_double_static = wenzel_utils.run_wenzel("hessian", True)