cl_getplatformids.c 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /* StarPU --- Runtime system for heterogeneous multicore architectures.
  2. *
  3. * Copyright (C) 2010,2011 University of Bordeaux
  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. #include "socl.h"
  17. extern int _starpu_init_failed;
  18. /**
  19. * \brief Get StarPU platform ID
  20. */
  21. CL_API_ENTRY cl_int CL_API_CALL
  22. soclGetPlatformIDs(cl_uint num_entries,
  23. cl_platform_id * platforms,
  24. cl_uint * num_platforms) CL_API_SUFFIX__VERSION_1_0
  25. {
  26. if (_starpu_init_failed)
  27. {
  28. if (num_platforms != NULL)
  29. *num_platforms = 0;
  30. return CL_SUCCESS;
  31. }
  32. if ((num_entries == 0 && platforms != NULL)
  33. || (num_platforms == NULL && platforms == NULL))
  34. return CL_INVALID_VALUE;
  35. else {
  36. if (platforms != NULL)
  37. platforms[0] = &socl_platform;
  38. if (num_platforms != NULL)
  39. *num_platforms = 1;
  40. }
  41. return CL_SUCCESS;
  42. }