################################################################################################ #Functions.gfl # Configuration file from Interposition Library # #By: # German Florez # Computer Science, Mississippi State University # February 2002 #FORMAT: #LIB_ID|type|Name|Code|Parameter'sDefinition|Parameter'sName|ParameterToLog| #LIB_ID=an identifier of the library.... this value is used in ApplyTemplate.sh #Code= If you can to log different functions ..use the same code for all them #ParameterToLog= parameter to store in the file.. if none, put -1 ##we also may need type of parameter.. int, char, float ################################################################################################ #DO NOT USE TABS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ######################################################################################## ####################MPI FUNCTIONS ####################################################################### #LIBMPI|int|MPI_Abort|0|MPI_Comm comm,int errorcode|comm,errorcode|-1| # LIBMPI|int|MPI_Address|1|void *location,MPI_Aint *address|location,address|-1| # LIBMPI|int|MPI_Allgather|2|void *sendbuf,int sendcount,MPI_Datatype sendtype,void *recvbuf,int recvcount,MPI_Datatype recvtype,MPI_Comm comm|sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype,comm|sendcount| # LIBMPI|int|MPI_Allgatherv|3|void *sendbuf,int sendcount,MPI_Datatype sendtype,void *recvbuf,int *recvcount,int *displs,MPI_Datatype recvtype,MPI_Comm comm|sendbuf,sendcount,sendtype,recvbuf,recvcount,displs,recvtype,comm|sendcount| # LIBMPI|int|MPI_Allreduce|4|void *sendbuf,void *recvbuf,int count,MPI_Datatype datatype,MPI_Op op,MPI_Comm comm|sendbuf,recvbuf,count,datatype,op,comm|count| # LIBMPI|int|MPI_Alltoall|5|void *sendbuf,int sendcount,MPI_Datatype sendtype,void *recvbuf,int recvcount,MPI_Datatype recvtype,MPI_Comm comm|sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype,comm|sendcount| # LIBMPI|int|MPI_Alltoallv|6|void *sendbuf,int *sendcounts,int *sdispls,MPI_Datatype sendtype,void *recvbuf,int *recvcounts,int *rdispls,MPI_Datatype recvtype,MPI_Comm comm|sendbuf,sendcounts,sdispls,sendtype,recvbuf,recvcounts,rdispls,recvtype,comm|*sendcounts| # LIBMPI|int|MPI_Attr_delete|7|MPI_Comm comm,int keyval|comm,keyval|-1| # LIBMPI|int|MPI_Attr_get|8|MPI_Comm comm,int keyval,void *attribute_val,int *flag|comm,keyval,attribute_val,flag|-1| # LIBMPI|int|MPI_Attr_put|9|MPI_Comm comm,int keyval,void *attribute_val|comm,keyval,attribute_val|-1| # LIBMPI|int|MPI_Barrier|10|MPI_Comm comm|comm|-1| # LIBMPI|int|MPI_Bcast|11|void *buffer,int count,MPI_Datatype datatype,int root,MPI_Comm comm|buffer,count,datatype,root,comm|count| # LIBMPI|int|MPI_Bsend|12|void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Comm comm|buf,count,datatype,dest,tag,comm|count| # LIBMPI|int|MPI_Bsend_init|13|void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Comm comm,MPI_Request *request|buf,count,datatype,dest,tag,comm,request|count| # LIBMPI|int|MPI_Buffer_attach|14|void *buffer,int size|buffer,size|size| # LIBMPI|int|MPI_Buffer_detach|15|void *buffer,int *size|buffer,size|-1| # LIBMPI|int|MPI_Cancel|16|MPI_Request *request|request|-1| # LIBMPI|int|MPI_Cart_coords|17|MPI_Comm comm,int rank,int maxdims,int *coords|comm,rank,maxdims,coords|-1| # LIBMPI|int|MPI_Cart_sub|23|MPI_Comm comm,int *remain_dims,MPI_Comm *newcomm|comm,remain_dims,newcomm|-1| # LIBMPI|int|MPI_Cartdim_get|24|MPI_Comm comm,int *ndims|comm,ndims|-1| # LIBMPI|int|MPI_Comm_compare|25|MPI_Comm comm1,MPI_Comm comm2,int *result|comm1,comm2,result|-1| # LIBMPI|int|MPI_Comm_create|26|MPI_Comm comm,MPI_Group group,MPI_Comm *newcomm|comm,group,newcomm|-1| # LIBMPI|int|MPI_Comm_dup|27|MPI_Comm comm,MPI_Comm *newcomm|comm,newcomm|-1| # LIBMPI|int|MPI_Comm_free|28|MPI_Comm *comm|comm|-1| # LIBMPI|int|MPI_Comm_group|29|MPI_Comm comm,MPI_Group *group|comm,group|-1| # LIBMPI|int|MPI_Comm_rank|30|MPI_Comm comm,int *rank|comm,rank|-1| # LIBMPI|int|MPI_Comm_remote_group|31|MPI_Comm comm,MPI_Group *group|comm,group|-1| # LIBMPI|int|MPI_Comm_remote_size|32|MPI_Comm comm,int *size|comm,size|-1| # LIBMPI|int|MPI_Comm_size|33|MPI_Comm comm,int *size|comm,size|-1| # LIBMPI|int|MPI_Comm_split|34|MPI_Comm comm,int color,int key,MPI_Comm *newcomm|comm,color,key,newcomm|-1| # LIBMPI|int|MPI_Comm_test_inter|35|MPI_Comm comm,int *flag|comm,flag|-1| # LIBMPI|int|MPI_Dims_create|36|int nnodes,int ndims,int *dims|nnodes,ndims,dims|-1| # LIBMPI|int|MPI_Errhandler_free|38|MPI_Errhandler *errhandler|errhandler|-1| # LIBMPI|int|MPI_Errhandler_get|39|MPI_Comm comm,MPI_Errhandler *errhandler|comm,errhandler|-1| # LIBMPI|int|MPI_Errhandler_set|40|MPI_Comm comm,MPI_Errhandler errhandler|comm,errhandler|-1| # LIBMPI|int|MPI_Error_string|42|int errorcode,char *string,int *resultlen|errorcode,string,resultlen|errorcode| ############################################### #I CANNOT USE int MPI_Finalize(void);..internal usage in the interposition library ############################################### LIBMPI|int|MPI_Gather|43|void *sendbuf,int sendcount,MPI_Datatype sendtype,void *recvbuf,int recvcount,MPI_Datatype recvtype,int root,MPI_Comm comm|sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype,root,comm|sendcount| # LIBMPI|int|MPI_Gatherv|44|void *sendbuf,int sendcount,MPI_Datatype sendtype,void *recvbuf,int *recvcounts,int *displs,MPI_Datatype recvtype,int root,MPI_Comm comm|sendbuf,sendcount,sendtype,recvbuf,recvcounts,displs,recvtype,root,comm|sendcount| # LIBMPI|int|MPI_Get_count|45|MPI_Status *status,MPI_Datatype datatype,int *count |status,datatype,count|-1| # LIBMPI|int|MPI_Get_elements|46|MPI_Status *status,MPI_Datatype datatype,int *count|status,datatype,count|-1| # LIBMPI|int|MPI_Get_processor_name|47|char *name,int *resultlen|name,resultlen|-1| # LIBMPI|int|MPI_Get_version|48|int *version,int *subversion|version,subversion|-1| # LIBMPI|int|MPI_Graph_create|49|MPI_Comm comm_old,int nnodes,int *index,int *edges,int reorder,MPI_Comm *comm_graph|comm_old,nnodes,index,edges,reorder,comm_graph|-1| # LIBMPI|int|MPI_Graph_get|50|MPI_Comm comm,int maxindex,int maxedges,int *index,int *edges|comm,maxindex,maxedges,index,edges|-1| # LIBMPI|int|MPI_Graph_neighbors|52|MPI_Comm comm,int rank,int maxneighbors,int *neighbors|comm,rank,maxneighbors,neighbors|-1| # LIBMPI|int|MPI_Graph_neighbors_count|53|MPI_Comm comm,int rank,int *nneighbors|comm,rank,nneighbors|-1| # LIBMPI|int|MPI_Graphdims_get|54|MPI_Comm comm,int *nnodes,int *nedges|comm,nnodes,nedges|-1| # LIBMPI|int|MPI_Group_compare|55|MPI_Group group1,MPI_Group group2,int *result|group1,group2,result|-1| # LIBMPI|int|MPI_Group_difference|56|MPI_Group group1,MPI_Group group2,MPI_Group *newgroup|group1,group2,newgroup|-1| # LIBMPI|int|MPI_Group_excl|57|MPI_Group group,int n,int *ranks,MPI_Group *newgroup|group,n,ranks,newgroup|-1| # LIBMPI|int|MPI_Group_free|58|MPI_Group *group|group|-1| # LIBMPI|int|MPI_Group_incl|59|MPI_Group group,int n,int *ranks,MPI_Group *newgroup|group,n,ranks,newgroup|-1| # LIBMPI|int|MPI_Group_intersection|60|MPI_Group group1,MPI_Group group2,MPI_Group *newgroup|group1,group2,newgroup|-1| # LIBMPI|int|MPI_Group_range_excl|61|MPI_Group group,int n,int ranges[][3],MPI_Group *newgroup|group,n,ranges,newgroup|-1| # LIBMPI|int|MPI_Group_range_incl|62|MPI_Group group,int n,int ranges[][3],MPI_Group *newgroup|group,n,ranges,newgroup|-1| # LIBMPI|int|MPI_Group_rank|63|MPI_Group group,int *rank|group,rank|-1| # LIBMPI|int|MPI_Group_size|64|MPI_Group group,int *size|group,size|-1| # LIBMPI|int|MPI_Group_translate_ranks|65|MPI_Group group1,int n,int *ranks1,MPI_Group group2,int *ranks2|group1,n,ranks1,group2,ranks2|-1| # LIBMPI|int|MPI_Group_union|66|MPI_Group group1,MPI_Group group2,MPI_Group *newgroup|group1,group2,newgroup|-1| # LIBMPI|int|MPI_Ibsend|67|void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Comm comm,MPI_Request *request|buf,count,datatype,dest,tag,comm,request|count| ############################################### #I CANNOT USE int|MPI_Init|int *argc,char ***argv| ..internal usage ############################################### # LIBMPI|int|MPI_Initialized|68|int *flag|flag|-1| # LIBMPI|int|MPI_Intercomm_create|69|MPI_Comm local_comm,int local_leader,MPI_Comm peer_comm,int remote_leader,int tag,MPI_Comm *newintercomm|local_comm,local_leader,peer_comm,remote_leader,tag,newintercomm|-1| # LIBMPI|int|MPI_Intercomm_merge|70|MPI_Comm intercomm,int high,MPI_Comm *newintracomm|intercomm,high,newintracomm|-1| # LIBMPI|int|MPI_Iprobe|71|int source,int tag,MPI_Comm comm,int *flag,MPI_Status *status|source,tag,comm,flag,status|-1| # LIBMPI|int|MPI_Irecv|72|void *buf,int count,MPI_Datatype datatype,int source,int tag,MPI_Comm comm,MPI_Request *request|buf,count,datatype,source,tag,comm,request|count| # LIBMPI|int|MPI_Irsend|73|void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Comm comm,MPI_Request *request|buf,count,datatype,dest,tag,comm,request|count| # LIBMPI|int|MPI_Isend|74|void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Comm comm,MPI_Request *request|buf,count,datatype,dest,tag,comm,request|count| # LIBMPI|int|MPI_Issend|75|void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Comm comm,MPI_Request *request|buf,count,datatype,dest,tag,comm,request|count| # LIBMPI|int|MPI_Pack|76|void *inbuf,int incount,MPI_Datatype datatype,void *outbuf,int outsize, int *position,MPI_Comm comm|inbuf,incount,datatype,outbuf,outsize,position,comm|-1| # LIBMPI|int|MPI_Pack_size|77|int inCount,MPI_Datatype datatype,MPI_Comm comm,int *size|inCount,datatype,comm,size|inCount| # LIBMPI|int|MPI_Recv|78|void *buf,int count,MPI_Datatype datatype,int source,int tag,MPI_Comm comm,MPI_Status *status|buf,count,datatype,source,tag,comm,status|count| # #int|MPI_Recv_ini|78|void *buf,int count,MPI_Datatype datatype,int source,int tag,MPI_Comm comm,MPI_Request *request|buf,count,datatype,source,tag,comm,request|count| # LIBMPI|int|MPI_Reduce|79|void *sendbuf,void *recvbuf,int count,MPI_Datatype datatype,MPI_Op op,int root,MPI_Comm comm|sendbuf,recvbuf,count,datatype,op,root,comm|count| # LIBMPI|int|MPI_Reduce_scatter|80|void *sendbuf,void *recvbuf,int *recvcounts,MPI_Datatype datatype,MPI_Op op,MPI_Comm comm|sendbuf,recvbuf,recvcounts,datatype,op,comm|-1| # LIBMPI|int|MPI_Rsend|81|void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Comm comm|buf,count,datatype,dest,tag,comm|count| # LIBMPI|int|MPI_Rsend_init|82|void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Comm comm,MPI_Request *request|buf,count,datatype,dest,tag,comm,request|count| # LIBMPI|int|MPI_Scan|83|void *sendbuf,void *recvbuf,int count,MPI_Datatype datatype,MPI_Op op,MPI_Comm comm|sendbuf,recvbuf,count,datatype,op,comm|count| # LIBMPI|int|MPI_Scatter|84|void *sendbuf,int sendcount,MPI_Datatype sendtype,void *recvbuf,int recvcount,MPI_Datatype recvtype,int root,MPI_Comm comm|sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype,root,comm|recvcount| # LIBMPI|int|MPI_Scatterv|85|void *sendbuf,int *sendcount,int *displs,MPI_Datatype sendtype,void *recvbuf,int recvcount,MPI_Datatype recvtype,int root,MPI_Comm comm|sendbuf,sendcount,displs,sendtype,recvbuf,recvcount,recvtype,root,comm|recvcount| # LIBMPI|int|MPI_Send|86|void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Comm comm|buf,count,datatype,dest,tag,comm|count| # LIBMPI|int|MPI_Send_init|87|void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Comm comm,MPI_Request *request|buf,count,datatype,dest,tag,comm,request|count| # LIBMPI|int|MPI_Sendrecv|88|void *sendbuf,int sendcount,MPI_Datatype sendtype,int dest,int sendtag,void *recvbuf,int recvcount,MPI_Datatype recvtype,int source,int recvtag,MPI_Comm comm,MPI_Status *status|sendbuf,sendcount,sendtype,dest,sendtag,recvbuf,recvcount,recvtype,source,recvtag,comm,status|sendcount| # LIBMPI|int|MPI_Sendrecv_replace|89|void *buf,int count,MPI_Datatype datatype,int dest,int sendtag,int source,int recvtag,MPI_Comm comm,MPI_Status *status|buf,count,datatype,dest,sendtag,source,recvtag,comm,status|count| # LIBMPI|int|MPI_Ssend|90|void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Comm comm|buf,count,datatype,dest,tag,comm|count| # LIBMPI|int|MPI_Ssend_init|91|void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Comm comm,MPI_Request *request|buf,count,datatype,dest,tag,comm,request|count| # LIBMPI|int|MPI_Unpack|92|void *inbuf,int insize,int *position,void *outbuf,int outcount,MPI_Datatype datatype,MPI_Comm comm|inbuf,insize,position,outbuf,outcount,datatype,comm|outcount| # LIBMPI|int|MPI_Wait|93|MPI_Request *request,MPI_Status *status|request,status|-1| ################################################################ #########################LIBC FUNCIONS ################################################################ ############################################MEMORY LIBC|void*|malloc|100|size_t size|size|size| #LIBC|void*|calloc|101|size_t nmemb, size_t size|nmemb,size|size| LIBC|void|free|102|void *ptr|ptr|-1| #LIBC|void*|realloc|103|void *ptr, size_t size|ptr,size|size| #################FORKS and signals LIBC|pid_t|fork|204|void| |getpid()| #unsigned int|sleep|205|unsigned int seconds|seconds|seconds| LIBC|int|close|206|int fd|fd|-1| ################3#STRINGS LIBC|char*|strcpy|307|char *dest, const char *src|dest,src|-1| LIBC|char*|strcat|308|char *dest, const char *src|dest,src|-1| #################files LIBC|int|chdir|409|const char *path|path|strlen(path)| ##mask is unsigned short LIBC|mode_t|umask|410|mode_t mask|mask|mask| LIBC|FILE*|fopen|411|const char *path, const char *mode|path,mode|strlen(path)| LIBC|size_t|fread|412|void *ptr, size_t size, size_t nmemb, FILE *stream|ptr,size,nmemb,stream|size| LIBC|size_t|fwrite|413|const void *ptr, size_t size, size_t nmemb, FILE *stream|ptr,size,nmemb,stream|size| LIBC|int|fclose|414|FILE *stream|stream|-1| #LIBC|int|fgetc|415|FILE *stream|stream|-1| #LIBC|int|getc|416|FILE *stream|stream|-1| #LIBC|int|fputc|417|int c, FILE *stream|c,stream|-1| #LIBC|int|putc|418|int c, FILE *stream|c,stream|-1| ################################################################ ####################LIB MATH LIBMATH|double|sqrt|519|double x|x|-1| LIBMATH|double|exp|520|double x|x|-1| LIBMATH|double|log|521|double x|x|-1| LIBMATH|double|log10|522|double x|x|-1| LIBMATH|double|pow|523|double x, double y|x,y|-1| LIBMATH|double|fabs|524|double x|x|-1| LIBMATH|double|acos|525|double x|x|-1| LIBMATH|double|asin|526|double x|x|-1| LIBMATH|double|atan|527|double x|x|-1| LIBMATH|double|cos|528|double x|x|-1| LIBMATH|double|sin|529|double x|x|-1| LIBMATH|double|tan|530|double x|x|-1| LIBMATH|double|floor|531|double x|x|-1| LIBMATH|double|ceil|532|double x|x|-1|