starpu_py_np.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # StarPU --- Runtime system for heterogeneous multicore architectures.
  2. #
  3. # Copyright (C) 2020-2021 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
  4. #
  5. # StarPU is free software; you can redistribute it and/or modify
  6. # it under the terms of the GNU Lesser General Public License as published by
  7. # the Free Software Foundation; either version 2.1 of the License, or (at
  8. # your option) any later version.
  9. #
  10. # StarPU is distributed in the hope that it will be useful, but
  11. # WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13. #
  14. # See the GNU Lesser General Public License in COPYING.LGPL for more details.
  15. #
  16. import starpu
  17. from starpu import starpupy
  18. import asyncio
  19. import numpy as np
  20. ###############################################################################
  21. def scal(a, t):
  22. for i in range(len(t)):
  23. t[i]=t[i]*a
  24. return t
  25. t=np.array([1,2,3,4,5,6,7,8,9,10])
  26. async def main():
  27. fut8 = starpu.task_submit()(scal, 2, t)
  28. res8 = await fut8
  29. print("The result of Example 10 is", res8)
  30. print("The return array is", t)
  31. #print("The result type is", type(res8))
  32. try:
  33. asyncio.run(main())
  34. except starpupy.error as e:
  35. print("No worker to execute the job")
  36. starpupy.shutdown()
  37. exit(77)
  38. starpupy.shutdown()