| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | /* StarPU --- Runtime system for heterogeneous multicore architectures. * * Copyright (C) 2008-2020  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria * * 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. */#ifndef __HEAT_H__#define __HEAT_H__#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include <math.h>/* needed for STARPU_OPENGL_RENDER */#include <starpu.h>#include <common/blas.h>#ifdef STARPU_OPENGL_RENDER#include <GL/gl.h>#include <GL/glu.h>#include <GL/glut.h>#endif#define FPRINTF(ofile, fmt, ...) do { if (!getenv("STARPU_SSILENT")) {fprintf(ofile, fmt, ## __VA_ARGS__); }} while(0)#define PRINTF(fmt, ...) do { if (!getenv("STARPU_SSILENT")) {printf(fmt, ## __VA_ARGS__); }} while(0)#define X	0#define Y	1#define DIM	ntheta*nthick#define RMIN	(150.0f)#define RMAX	(200.0f)#define Pi	(3.141592f)#define NODE_NUMBER(theta, thick)	((unsigned long)((thick)+(theta)*nthick))#define NODE_TO_THICK(n)		((n) % nthick)#define NODE_TO_THETA(n)		((n) / nthick)typedef struct point_t{	float x;	float y;} point;extern void dw_factoLU(float *matA, unsigned size, unsigned ld, unsigned nblocks, unsigned version, unsigned no_prio);extern void dw_factoLU_tag(float *matA, unsigned size, unsigned ld, unsigned nblocks, unsigned no_prio);extern void dw_factoLU_grain(float *matA, unsigned size, unsigned ld, unsigned nblocks, unsigned nbigblocks);extern void initialize_system(float **A, float **B, unsigned dim, unsigned pinned);extern void free_system(float *A, float *B, unsigned pinned);void display_stat_heat(void);#ifdef STARPU_OPENGL_RENDERextern void opengl_render(unsigned _ntheta, unsigned _nthick, float *_result, point *_pmesh, int argc_, char **argv_);#endif#endif /* __HEAT_H__ */
 |