Guest User

ddi_fortran.h

a guest
Mar 24th, 2021
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.50 KB | None | 0 0
  1. /* ------------------------------------------------------------- *\
  2. External DDI Functions called by FORTRAN
  3. ========================================
  4.  
  5. All DDI subroutines are written in C. DDI subroutines called
  6. from FORTRAN go through a C wrapper. All DDI subroutines are
  7. prefixed with DDI_ and all FORTRAN wrapper subroutines are
  8. prefixed with F77_.
  9.  
  10. The following C definitions substitute the FORTRAN wrapper
  11. subroutine name with the correct machine dependent FORTRAN
  12. external name.
  13.  
  14. Note: FORTRAN externals are generally all lowercase, but may
  15. be uppercase. Define F77_UPPERCASE if you machine's FORTRAN
  16. using uppercase externals.
  17.  
  18. Author: Ryan M. Olson
  19. Date: December 22, 2002
  20. \* ------------------------------------------------------------- */
  21. # include "f77_extern.h"
  22.  
  23. # if defined INT_SIZE
  24. typedef INT_SIZE int_f77;
  25. # else
  26. # error "INT_SIZE must be defined."
  27. # endif
  28.  
  29. # if defined F77_UPPERCASE
  30. # define F77_PBeg F77_Extern(DDI_PBEG)
  31. # define F77_Init F77_Extern(DDI_INIT)
  32. # define F77_PEnd F77_Extern(DDI_PEND)
  33. # define F77_Finalize F77_Extern(DDI_FINALIZE)
  34. # define F77_NProc F77_Extern(DDI_NPROC)
  35. # define F77_NProc_comm F77_Extern(DDI_NPROC_COMM)
  36. # define F77_NNode F77_Extern(DDI_NNODE)
  37. # define F77_Memory F77_Extern(DDI_MEMORY)
  38. # define F77_Create F77_Extern(DDI_CREATE)
  39. # define F77_Create_custom F77_Extern(DDI_CREATE_CUSTOM)
  40. # define F77_Destroy F77_Extern(DDI_DESTROY)
  41. # define F77_Zero F77_Extern(DDI_ZERO)
  42. # define F77_Distrib F77_Extern(DDI_DISTRIB)
  43. # define F77_NDistrib F77_Extern(DDI_NDISTRIB)
  44. # define F77_DLBReset F77_Extern(DDI_DLBRESET)
  45. # define F77_DLBNext F77_Extern(DDI_DLBNEXT)
  46. # define F77_Send F77_Extern(DDI_SEND)
  47. # define F77_Recv F77_Extern(DDI_RECV)
  48. # define F77_Get F77_Extern(DDI_GET)
  49. # define F77_Put F77_Extern(DDI_PUT)
  50. # define F77_Acc F77_Extern(DDI_ACC)
  51. # define F77_Scatter_Acc F77_Extern(DDI_SCATTER_ACC)
  52. # define F77_GetAcc F77_Extern(DDI_GETACC)
  53. # define F77_ISend F77_Extern(DDI_ISEND)
  54. # define F77_IRecv F77_Extern(DDI_IRECV)
  55. # define F77_IGet F77_Extern(DDI_IGET)
  56. # define F77_IPut F77_Extern(DDI_IPUT)
  57. # define F77_IAcc F77_Extern(DDI_IACC)
  58. # define F77_Wait F77_Extern(DDI_WAIT)
  59. # define F77_Sync F77_Extern(DDI_SYNC)
  60. # define F77_BCast F77_Extern(DDI_BCAST)
  61. # define F77_GSumF F77_Extern(DDI_GSUMF)
  62. # define F77_GSumI F77_Extern(DDI_GSUMI)
  63. # define F77_Rcvany F77_Extern(DDI_RCVANY)
  64. # define F77_Output F77_Extern(DDI_OUTPUT)
  65. # define F77_Level F77_Extern(DDI_LEVEL)
  66. # define F77_Debug F77_Extern(DDI_DEBUG)
  67. # define F77_Timer_reset F77_Extern(DDI_TIMER_RESET)
  68. # define F77_Timer_output F77_Extern(DDI_TIMER_OUTPUT)
  69. # define F77_SMP_NProc F77_Extern(DDI_SMP_NPROC)
  70. # define F77_Group_create F77_Extern(DDI_GROUP_CREATE)
  71. # define F77_Group_create_custom F77_Extern(DDI_GROUP_CREATE_CUSTOM)
  72. # define F77_Scope F77_Extern(DDI_SCOPE)
  73. # define F77_AScope F77_Extern(DDI_ASCOPE)
  74. # define F77_NGroup F77_Extern(DDI_NGROUP)
  75. # define F77_GDLBReset F77_Extern(DDI_GDLBRESET)
  76. # define F77_GDLBNext F77_Extern(DDI_GDLBNEXT)
  77. # define F77_GDLBReset_inner F77_Extern(DDI_GDLBRESET_INNER)
  78. # define F77_GDLBNext_inner F77_Extern(DDI_GDLBNEXT_INNER)
  79. # define F77_DDI_get_dsid F77_Extern(DDI_GET_DSID)
  80. # define F77_ProcDLB_create F77_Extern(DDI_PROCDLB_CREATE)
  81. # define F77_ProcDLB_next F77_Extern(DDI_PROCDLB_NEXT)
  82. # define F77_ProcDLB_reset F77_Extern(DDI_PROCDLB_RESET)
  83. # define F77_ProcDLB_destroy F77_Extern(DDI_PROCDLB_DESTROY)
  84. # define F77_Comm_destroy F77_Extern(DDI_COMM_DESTROY)
  85. # define F77_Memory_map_dbgprint F77_Extern(DDI_MEMORY_MAP_DBGPRINT)
  86. # define F77_Memory_avail F77_Extern(DDI_MEMORY_AVAIL)
  87. /* DDI_ARR subroutines */
  88. # define F77_ARR_zero F77_Extern(DDI_ARR_ZERO)
  89. # define F77_ARR_fill F77_Extern(DDI_ARR_FILL)
  90. # define F77_ARR_scale F77_Extern(DDI_ARR_SCALE)
  91. # define F77_ARR_min F77_Extern(DDI_ARR_MIN)
  92. # define F77_ARR_max F77_Extern(DDI_ARR_MAX)
  93. # define F77_ARR_dot F77_Extern(DDI_ARR_DOT)
  94. # define F77_ARR_add F77_Extern(DDI_ARR_ADD)
  95. # define F77_ARR_acc F77_Extern(DDI_ARR_ACC)
  96. # if defined WINTEL
  97. # define F77_SMP_Create F77_Extern(DDI_SMP_CREATE)
  98. # define F77_SMP_Destroy F77_Extern(DDI_SMP_DESTROY)
  99. # define F77_SMP_Offset F77_Extern(DDI_SMP_OFFSET)
  100. # define F77_SMP_sync F77_Extern(DDI_SMP_SYNC)
  101. # define F77_BCast_smp F77_Extern(DDI_SMP_BCAST)
  102. # define F77_GSumF_smp F77_Extern(DDI_SMP_GSUMF)
  103. # define F77_GSumF_node F77_Extern(DDI_MASTERS_GSUMF)
  104. # define F77_BCast_node F77_Extern(DDI_MASTERS_BCAST)
  105. # define F77_Get_comm F77_Extern(DDI_GET_COMM)
  106. # define F77_Put_comm F77_Extern(DDI_PUT_COMM)
  107. # endif
  108. # else
  109. # define F77_PBeg F77_Extern(ddi_pbeg)
  110. # define F77_Init F77_Extern(ddi_init)
  111. # define F77_PEnd F77_Extern(ddi_pend)
  112. # define F77_Finalize F77_Extern(ddi_finalize)
  113. # define F77_NProc F77_Extern(ddi_nproc)
  114. # define F77_NProc_comm F77_Extern(ddi_nproc_comm)
  115. # define F77_NNode F77_Extern(ddi_nnode)
  116. # define F77_Memory F77_Extern(ddi_memory)
  117. # define F77_Create F77_Extern(ddi_create)
  118. # define F77_Create_custom F77_Extern(ddi_create_custom)
  119. # define F77_Destroy F77_Extern(ddi_destroy)
  120. # define F77_Zero F77_Extern(ddi_zero)
  121. # define F77_Distrib F77_Extern(ddi_distrib)
  122. # define F77_NDistrib F77_Extern(ddi_ndistrib)
  123. # define F77_DLBReset F77_Extern(ddi_dlbreset)
  124. # define F77_DLBNext F77_Extern(ddi_dlbnext)
  125. # define F77_Send F77_Extern(ddi_send)
  126. # define F77_Recv F77_Extern(ddi_recv)
  127. # define F77_Get F77_Extern(ddi_get)
  128. # define F77_Put F77_Extern(ddi_put)
  129. # define F77_Acc F77_Extern(ddi_acc)
  130. # define F77_Scatter_Acc F77_Extern(ddi_scatter_acc)
  131. # define F77_GetAcc F77_Extern(ddi_getacc)
  132. # define F77_ISend F77_Extern(ddi_isend)
  133. # define F77_IRecv F77_Extern(ddi_irecv)
  134. # define F77_IGet F77_Extern(ddi_iget)
  135. # define F77_IPut F77_Extern(ddi_iput)
  136. # define F77_IAcc F77_Extern(ddi_iacc)
  137. # define F77_Wait F77_Extern(ddi_wait)
  138. # define F77_Sync F77_Extern(ddi_sync)
  139. # define F77_BCast F77_Extern(ddi_bcast)
  140. # define F77_GSumF F77_Extern(ddi_gsumf)
  141. # define F77_GSumI F77_Extern(ddi_gsumi)
  142. # define F77_Rcvany F77_Extern(ddi_rcvany)
  143. # define F77_Output F77_Extern(ddi_output)
  144. # define F77_Level F77_Extern(ddi_level)
  145. # define F77_Debug F77_Extern(ddi_debug)
  146. # define F77_Timer_reset F77_Extern(ddi_timer_reset)
  147. # define F77_Timer_output F77_Extern(ddi_timer_output)
  148. # define F77_SMP_NProc F77_Extern(ddi_smp_nproc)
  149. # define F77_Group_create F77_Extern(ddi_group_create)
  150. # define F77_Group_create_custom F77_Extern(ddi_group_create_custom)
  151. # define F77_Scope F77_Extern(ddi_scope)
  152. # define F77_AScope F77_Extern(ddi_ascope)
  153. # define F77_NGroup F77_Extern(ddi_ngroup)
  154. # define F77_GDLBReset F77_Extern(ddi_gdlbreset)
  155. # define F77_GDLBNext F77_Extern(ddi_gdlbnext)
  156. # define F77_GDLBReset_inner F77_Extern(ddi_gdlbreset_inner)
  157. # define F77_GDLBNext_inner F77_Extern(ddi_gdlbnext_inner)
  158. # define F77_DDI_get_dsid F77_Extern(ddi_get_dsid)
  159. # define F77_ProcDLB_create F77_Extern(ddi_procdlb_create)
  160. # define F77_ProcDLB_next F77_Extern(ddi_procdlb_next)
  161. # define F77_ProcDLB_reset F77_Extern(ddi_procdlb_reset)
  162. # define F77_ProcDLB_destroy F77_Extern(ddi_procdlb_destroy)
  163. # define F77_SMP_sync F77_Extern(ddi_smp_sync)
  164. # define F77_BCast_smp F77_Extern(ddi_smp_bcast)
  165. # define F77_GSumI_smp F77_Extern(ddi_smp_gsumi)
  166. # define F77_GSumF_smp F77_Extern(ddi_smp_gsumf)
  167. # define F77_BCast_node F77_Extern(ddi_masters_bcast)
  168. # define F77_GSumI_node F77_Extern(ddi_masters_gsumi)
  169. # define F77_GSumF_node F77_Extern(ddi_masters_gsumf)
  170. # define F77_SMP_Create F77_Extern(ddi_smp_create)
  171. # define F77_SMP_Destroy F77_Extern(ddi_smp_destroy)
  172. # define F77_SMP_Offset F77_Extern(ddi_smp_offset)
  173. # define F77_Addr_test F77_Extern(ddi_addr_test)
  174. # define F77_DB_Create F77_Extern(ddi_db_create)
  175. # define F77_DB_Read F77_Extern(ddi_db_read)
  176. # define F77_DB_Write F77_Extern(ddi_db_write)
  177. # define F77_Get_comm F77_Extern(ddi_get_comm)
  178. # define F77_Put_comm F77_Extern(ddi_put_comm)
  179. # define F77_Acc_comm F77_Extern(ddi_acc_comm)
  180. # define F77_Comm_destroy F77_Extern(ddi_comm_destroy)
  181. /* DDI_ARR subroutines */
  182. # define F77_ARR_zero F77_Extern(ddi_arr_zero)
  183. # define F77_ARR_fill F77_Extern(ddi_arr_fill)
  184. # define F77_ARR_scale F77_Extern(ddi_arr_scale)
  185. # define F77_ARR_min F77_Extern(ddi_arr_min)
  186. # define F77_ARR_max F77_Extern(ddi_arr_max)
  187. # define F77_ARR_dot F77_Extern(ddi_arr_dot)
  188. # define F77_ARR_add F77_Extern(ddi_arr_add)
  189. # define F77_ARR_acc F77_Extern(ddi_arr_acc)
  190. # define F77_Memory_map_dbgprint F77_Extern(ddi_memory_map_dbgprint)
  191. # define F77_Memory_avail F77_Extern(ddi_memory_avail)
  192. # endif
  193.  
Advertisement
Add Comment
Please, Sign In to add comment