From 11b308e7363e937966b035b4891db32b4eece3bf Mon Sep 17 00:00:00 2001 From: Tor Aamodt Date: Fri, 1 Oct 2010 08:55:28 -0800 Subject: integrating recent changes from fermi-test into fermi (i'll use "fermi" for more disruptive changes to the pipeline model such as updating the MSHRs and getting rid of the warp tracker, ripping out DWF, etc...) [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 7805] --- .../DG/3rdParty/ParMetis-3.1/ParMETISLib/util.c | 983 --------------------- 1 file changed, 983 deletions(-) delete mode 100644 benchmarks/CUDA/DG/3rdParty/ParMetis-3.1/ParMETISLib/util.c (limited to 'benchmarks/CUDA/DG/3rdParty/ParMetis-3.1/ParMETISLib/util.c') diff --git a/benchmarks/CUDA/DG/3rdParty/ParMetis-3.1/ParMETISLib/util.c b/benchmarks/CUDA/DG/3rdParty/ParMetis-3.1/ParMETISLib/util.c deleted file mode 100644 index 34c657d..0000000 --- a/benchmarks/CUDA/DG/3rdParty/ParMetis-3.1/ParMETISLib/util.c +++ /dev/null @@ -1,983 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * util.c - * - * This function contains various utility routines - * - * Started 9/28/95 - * George - * - * $Id: util.c,v 1.2 2003/07/21 17:18:54 karypis Exp $ - */ - -#include - - -/************************************************************************* -* This function prints an error message and exits -**************************************************************************/ -void errexit(char *f_str,...) -{ - va_list argp; - char out1[256], out2[256]; - - va_start(argp, f_str); - vsprintf(out1, f_str, argp); - va_end(argp); - - sprintf(out2, "Error! %s", out1); - - fprintf(stdout, out2); - fflush(stdout); - - abort(); -} - - -/************************************************************************* -* This function prints an error message and exits -**************************************************************************/ -void myprintf(CtrlType *ctrl, char *f_str,...) -{ - va_list argp; - char out1[256], out2[256]; - - va_start(argp, f_str); - vsprintf(out1, f_str, argp); - va_end(argp); - - sprintf(out2, "[%2d] %s", ctrl->mype, out1); - - fprintf(stdout, out2); - fflush(stdout); - -} - - - -/************************************************************************* -* This function prints an error message and exits -**************************************************************************/ -void rprintf(CtrlType *ctrl, char *f_str,...) -{ - va_list argp; - - if (ctrl->mype == 0) { - va_start(argp, f_str); - vfprintf(stdout, f_str, argp); - va_end(argp); - } - - fflush(stdout); - - MPI_Barrier(ctrl->comm); - -} - - -#ifndef DMALLOC -/************************************************************************* -* The following function allocates an array of integers -**************************************************************************/ -int *imalloc(int n, char *msg) -{ - if (n == 0) - return NULL; - - return (int *)GKmalloc(sizeof(int)*n, msg); -} - - -/************************************************************************* -* The following function allocates an array of integers -**************************************************************************/ -idxtype *idxmalloc(int n, char *msg) -{ - if (n == 0) - return NULL; - - return (idxtype *)GKmalloc(sizeof(idxtype)*n, msg); -} - - -/************************************************************************* -* The following function allocates an array of float -**************************************************************************/ -float *fmalloc(int n, char *msg) -{ - if (n == 0) - return NULL; - - return (float *)GKmalloc(sizeof(float)*n, msg); -} - - -/************************************************************************* -* The follwoing function allocates an array of integers -**************************************************************************/ -int *ismalloc(int n, int ival, char *msg) -{ - if (n == 0) - return NULL; - - return iset(n, ival, (int *)GKmalloc(sizeof(int)*n, msg)); -} - - - -/************************************************************************* -* The follwoing function allocates an array of integers -**************************************************************************/ -idxtype *idxsmalloc(int n, idxtype ival, char *msg) -{ - if (n == 0) - return NULL; - - return idxset(n, ival, (idxtype *)GKmalloc(sizeof(idxtype)*n, msg)); -} - - -/************************************************************************* -* This function is my wrapper around malloc -**************************************************************************/ -void *GKmalloc(int nbytes, char *msg) -{ - void *ptr; - - if (nbytes == 0) - return NULL; - - ptr = (void *)malloc(nbytes); - if (ptr == NULL) - errexit("***Memory allocation failed for %s. Requested size: %d bytes", msg, nbytes); - - return ptr; -} -#endif - -/************************************************************************* -* This function is my wrapper around free, allows multiple pointers -**************************************************************************/ -void GKfree(void **ptr1,...) -{ - va_list plist; - void **ptr; - - if (*ptr1 != NULL) - free(*ptr1); - *ptr1 = NULL; - - va_start(plist, ptr1); - - while ((ptr = va_arg(plist, void **)) != LTERM) { - if (*ptr != NULL) - free(*ptr); - *ptr = NULL; - } - - va_end(plist); -} - - -/************************************************************************* -* These functions set the values of a vector -**************************************************************************/ -int *iset(int n, int val, int *x) -{ - int i; - - for (i=0; i x[max] ? i : max); - - return max; -} - - -/************************************************************************* -* These functions return the index of the minimum element in a vector -**************************************************************************/ -int idxamin(int n, idxtype *x) -{ - int i, min=0; - - for (i=1; ikey != n2->key ? n1->key - n2->key : n1->val - n2->val); -} - - - -/************************************************************************* -* This function sorts an array of type KeyValueType in increasing order -**************************************************************************/ -void dkeyvalsort(int n, KeyValueType *nodes) -{ - qsort((void *)nodes, (size_t)n, (size_t)sizeof(KeyValueType), DecKeyValueCmp); -} - - -/************************************************************************* -* This function compares 2 KeyValueType variables for sorting in inc order -**************************************************************************/ -int DecKeyValueCmp(const void *v1, const void *v2) -{ - KeyValueType *n1, *n2; - - n1 = (KeyValueType *)v1; - n2 = (KeyValueType *)v2; - - return n2->key - n1->key; - -} - - - -/************************************************************************* -* This function does a binary search on an array for a key and returns -* the index -**************************************************************************/ -int BSearch(int n, idxtype *array, int key) -{ - int a=0, b=n, c; - - while (b-a > 8) { - c = (a+b)>>1; - if (array[c] > key) - b = c; - else - a = c; - } - - for (c=a; c>1); - return (a > 1 ? 0 : 1); -} - -/************************************************************************* -* This function returns the log2(x) -**************************************************************************/ -int log2Int(int a) -{ - int i; - - for (i=1; a > 1; i++, a = a>>1); - return i-1; -} - - -/************************************************************************* -* These functions set the values of a vector -**************************************************************************/ -float *sset(int n, float val, float *x) -{ - int i; - - for (i=0; i x[max] ? i : max); - - return max; -} - - -/************************************************************************* -* These functions return the index of the maximum element in a vector -**************************************************************************/ -int samax_strd(int n, float *x, int incx) -{ - int i; - int max=0; - - n *= incx; - for (i=incx; i x[max] ? i : max); - - return max/incx; -} - - -/************************************************************************* -* These functions return the index of the maximum element in a vector -**************************************************************************/ -int sfamax(int n, float *x) -{ - int i; - int max=0; - - for (i=1; i fabs(x[max]) ? i : max); - - return max; -} - - - -/************************************************************************* -* These functions return the index of the maximum element in a vector -**************************************************************************/ -int samin_strd(int n, float *x, int incx) -{ - int i; - int min=0; - - n *= incx; - for (i=incx; i x[max] ? i : max); - - return max/incx; -} - - -/************************************************************************* -* These functions return the index of the maximum element in a vector -**************************************************************************/ -int idxamin_strd(int n, idxtype *x, int incx) -{ - int i, min=0; - - n *= incx; - for (i=incx; i x[max] ? i : max); - - return max; -} - - -/************************************************************************* -* These functions return the index of the maximum element in a vector -**************************************************************************/ -int sfavg(int n, float *x) -{ - int i; - float total = 0.0; - - if (n == 0) - return 0.0; - - for (i=0; i x[1]) { - max1 = 0; - max2 = 1; - } - else { - max1 = 1; - max2 = 0; - } - - for (i=2; i x[max1]) { - max2 = max1; - max1 = i; - } - else if (x[i] > x[max2]) - max2 = i; - } - - return max2; -} - - -/************************************************************************* -* These functions return the index of the minimum element in a vector -**************************************************************************/ -int samin(int n, float *x) -{ - int i, min=0; - - for (i=1; i=0; n--) - y[n] += x[n]; -} - - -/************************************************************************* -* This function sums the entries in an array -**************************************************************************/ -float ssum(int n, float *x) -{ - int i; - float sum = 0.0; - - for (i=0; i m11) - return 0; - if (m22 < m12) - return 1; - if (m22 > m12) - return 0; - - return sm2 < sm1; -} - -/************************************************************************* -* This is a comparison function -**************************************************************************/ -int myvalkeycompare(const void *fptr, const void *sptr) -{ - KVType *first, *second; - - first = (KVType *)(fptr); - second = (KVType *)(sptr); - - if (first->val > second->val) - return 1; - - if (first->val < second->val) - return -1; - - return 0; -} - -/************************************************************************* -* This is the inverse comparison function -**************************************************************************/ -int imyvalkeycompare(const void *fptr, const void *sptr) -{ - KVType *first, *second; - - first = (KVType *)(fptr); - second = (KVType *)(sptr); - - if (first->val > second->val) - return -1; - - if (first->val < second->val) - return 1; - - return 0; -} - - -/************************************************************************* -* The following function allocates and sets an array of floats -**************************************************************************/ -float *fsmalloc(int n, float fval, char *msg) -{ - if (n == 0) - return NULL; - - return sset(n, fval, (float *)GKmalloc(sizeof(float)*n, msg)); -} - - -/************************************************************************* -* This function computes a 2-norm -**************************************************************************/ -void saxpy2(int n, float alpha, float *x, int incx, float *y, int incy) -{ - int i; - - for (i=0; i x[*first]) { - *third = *second; - *second = *first; - *first = i; - continue; - } - - if (*second == -1 || x[i] > x[*second]) { - *third = *second; - *second = i; - continue; - } - - if (*third == -1 || x[i] > x[*third]) - *third = i; - } - - return; -} -- cgit v1.3