/* 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]
#include <stdio.h>
/* Task declaration. */
static void my_task (int x) __attribute__ ((task));
/* Definition of the CPU implementation of `my_task'. */
static void my_task (int x)
{
printf ("Hello, world! With x = %d\n", x);
}
int main ()
{
/* Initialize StarPU. */
#pragma starpu initialize
/* Do an asynchronous call to `my_task'. */
my_task (42);
/* Wait for the call to complete. */
#pragma starpu wait
/* Terminate. */
#pragma starpu shutdown
return 0;
}
//! [To be included]