tem_open_distconf_array Subroutine

public subroutine tem_open_distconf_array(L, fileName, proc)

Open an array of Lua handles.

This is a drop in replacement for open_config_file from Aotus and allows the scalable processing of Lua files, as they are read by a single process and then streamed to all in proc. There should be no restrictions on the Lua scripts themselves in this method, as it uses an overloading of the require mechanism in Lua itself to replace the file searches by lookups of buffered Lua code snippets. The execution of the Lua script itself is not changed.

This variant of the routine opens an array of handles with the same script. It is used to provide individual Lua states, that can be used independently later on, for example in the evaluation of Lua functions for boundary conditions.

Arguments

TypeIntentOptionalAttributesName
type(flu_State) :: L(:)
character(len=*), intent(in) :: fileName
type(tem_comm_env_type) :: proc

Calls

proc~~tem_open_distconf_array~~CallsGraph proc~tem_open_distconf_array tem_open_distconf_array proc~tem_require_rq_store tem_require_rq_store proc~tem_open_distconf_array->proc~tem_require_rq_store proc~tem_pop_from_track_rq tem_pop_from_track_rq proc~tem_open_distconf_array->proc~tem_pop_from_track_rq proc~tem_require_track_rq tem_require_track_rq proc~tem_open_distconf_array->proc~tem_require_track_rq proc~open_config_buffer open_config_buffer proc~tem_open_distconf_array->proc~open_config_buffer mpi_bcast mpi_bcast proc~tem_open_distconf_array->mpi_bcast proc~open_config_file open_config_file proc~tem_open_distconf_array->proc~open_config_file proc~flu_free_cbuf flu_free_cbuf proc~tem_open_distconf_array->proc~flu_free_cbuf proc~tem_push_to_rq_store tem_push_to_rq_store proc~tem_open_distconf_array->proc~tem_push_to_rq_store proc~tem_get_required_lua tem_get_required_Lua proc~tem_open_distconf_array->proc~tem_get_required_lua proc~open_config_chunk open_config_chunk proc~tem_require_rq_store->proc~open_config_chunk proc~aot_table_push aot_table_push proc~tem_pop_from_track_rq->proc~aot_table_push proc~flu_pushnil flu_pushnil proc~tem_pop_from_track_rq->proc~flu_pushnil proc~flu_pop flu_pop proc~tem_pop_from_track_rq->proc~flu_pop interface~flu_dump flu_dump proc~tem_pop_from_track_rq->interface~flu_dump proc~aot_table_open aot_table_open proc~tem_pop_from_track_rq->proc~aot_table_open proc~aot_table_close aot_table_close proc~tem_pop_from_track_rq->proc~aot_table_close proc~aot_table_set_top aot_table_set_top proc~tem_pop_from_track_rq->proc~aot_table_set_top proc~tem_require_track_rq->proc~open_config_chunk interface~aot_table_set_val aot_table_set_val proc~tem_push_to_rq_store->interface~aot_table_set_val proc~tem_push_to_rq_store->proc~aot_table_open proc~tem_push_to_rq_store->proc~aot_table_close proc~tem_push_to_rq_store->proc~aot_table_set_top proc~flul_loadbuffer fluL_loadbuffer proc~tem_push_to_rq_store->proc~flul_loadbuffer interface~aot_get_val~2 aot_get_val proc~tem_get_required_lua->interface~aot_get_val~2 proc~tem_get_required_lua->proc~aot_table_open proc~tem_get_required_lua->proc~aot_table_close

Contents


Variables

TypeVisibilityAttributesNameInitial
type(cbuf_type), private :: scriptbuf
type(cbuf_type), private :: modbuf
integer, private :: iError
integer, private :: comm
integer, private :: nProcs
integer, private :: nFiles
integer, private :: nLuaStates
integer, private :: bufsize
integer, private :: iFile
integer, private :: iState
integer, private :: Lua_lb
character(len=labelLen), private, allocatable:: req_label(:)
character(len=pathLen), private, allocatable:: req_file(:)