def prepare_matrices(): matrix_a = list() matrix_b = list() matrix_c = list() for i in range(MATRIXSIZE): a_row = list() b_row = list() c_row = list() matrix_a.append(a_row) matrix_b.append(b_row) matrix_c.append(c_row) for j in range(MATRIXSIZE): a_block = Block() b_block = Block() c_block = Block() a_row.append(a_block) b_row.append(b_block) c_row.append(c_block) a_block.make_persistent() b_block.make_persistent() c_block.make_persistent() a_block.initialize_random(BLOCKSIZE, BLOCKSIZE) b_block.initialize_random(BLOCKSIZE, BLOCKSIZE) # c_block is not initialized, as the numpy matrix addition creates the structure if INPUT_IN_NVRAM: a_block.persist_to_nvram() b_block.persist_to_nvram() return matrix_a, matrix_b, matrix_c
def prepare_matrices(): matrix_a = list() matrix_b = list() matrix_c = list() for i in range(MATRIXSIZE): a_row = list() b_row = list() c_row = list() matrix_a.append(a_row) matrix_b.append(b_row) matrix_c.append(c_row) for j in range(MATRIXSIZE): a_block = Block() b_block = Block() c_block = Block() a_row.append(a_block) b_row.append(b_block) c_row.append(c_block) a_block.make_persistent() b_block.make_persistent() c_block.make_persistent() a_block.initialize_random(BLOCKSIZE, BLOCKSIZE) b_block.initialize_random(BLOCKSIZE, BLOCKSIZE) c_block.initialize_zeros(BLOCKSIZE, BLOCKSIZE) if INPUT_IN_NVRAM: a_block.persist_to_nvram() b_block.persist_to_nvram() if EXEC_IN_NVRAM: c_block.persist_to_nvram() return matrix_a, matrix_b, matrix_c