adam_test1.py 808 B

1234567891011121314151617181920212223242526
  1. # Copyright (c) Microsoft Corporation.
  2. # SPDX-License-Identifier: Apache-2.0
  3. # DeepSpeed Team
  4. import torch
  5. from deepspeed.ops.adam import DeepSpeedCPUAdam
  6. import time
  7. from deepspeed.accelerator import get_accelerator
  8. device = 'cpu'
  9. model_size = 1 * 1024**3
  10. param = torch.nn.Parameter(torch.ones(model_size, device=device))
  11. param_fp16 = torch.nn.Parameter(torch.ones(model_size, dtype=torch.half, device=get_accelerator().device_name(0)))
  12. optimizer = DeepSpeedCPUAdam([param])
  13. #torch.set_num_threads(128)
  14. param.grad = torch.ones(model_size, device=device)
  15. avg = 0
  16. for i in range(100):
  17. start = time.time()
  18. optimizer.step(fp16_param_groups=[param_fp16])
  19. stop = time.time()
  20. avg += (stop - start)
  21. param.grad = torch.ones(model_size, device=device) * 2
  22. print("Elapsed Time is ", avg / 100)