123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2010-2013 Centre National de la Recherche Scientifique
- * Copyright (C) 2010-2013 Université de Bordeaux 1
- *
- * StarPU is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
- //! [To be included. You should update doxygen if you see this text.]
- extern void cholesky(unsigned nblocks, unsigned size,
- float mat[nblocks][nblocks][size])
- __attribute__ ((task));
- int
- main (int argc, char *argv[])
- {
- #pragma starpu initialize
- /* ... */
- int nblocks, size;
- parse_args (&nblocks, &size);
- /* Allocate an array of the required size on the heap,
- and register it. */
- {
- float matrix[nblocks][nblocks][size]
- __attribute__ ((heap_allocated, registered));
- cholesky (nblocks, size, matrix);
- #pragma starpu wait
- } /* MATRIX is automatically unregistered & freed here. */
- #pragma starpu shutdown
- return EXIT_SUCCESS;
- }
- //! [To be included. You should update doxygen if you see this text.]
|