import torch | |
import time | |
import os | |
import argparse | |
import shutil | |
import sys | |
def parse_args(): | |
parser = argparse.ArgumentParser(description='Matrix multiplication') | |
parser.add_argument('--gpus', help='gpu amount', required=True, type=int) | |
parser.add_argument('--size', help='matrix size', required=True, type=int) | |
parser.add_argument('--interval', help='sleep interval', required=True, type=float) | |
args = parser.parse_args() | |
return args | |
def matrix_multiplication(args): | |
a_list, b_list, result = [], [], [] | |
size = (args.size, args.size) | |
# for i in range(args.gpus): | |
i = args.gpus | |
a_list.append(torch.rand(size, device=i)) | |
b_list.append(torch.rand(size, device=i)) | |
result.append(torch.rand(size, device=i)) | |
while True: | |
# for i in range(args.gpus): | |
result[0] = a_list[0] * b_list[0] | |
time.sleep(args.interval) | |
if __name__ == "__main__": | |
# usage: python matrix_multiplication_gpus.py --size 20000 --gpus 2 --interval 0.01 | |
args = parse_args() | |
matrix_multiplication(args) | |