noble (3) icetCreateContext.3.gz

Provided by: paraview_5.11.2+dfsg-6build5_amd64 bug

NAME

       icetCreateContext -- creates a new context.

Synopsis

       #include <IceT.h>

       IceTContext icetCreateContext(   IceTCommunicator   comm  );

Description

       The  icetCreateContext  function creates a new context, makes it current, and returns a handle to the new
       context. The handle returned is of type IceTContext.  This is an opaque type that should not  be  handled
       directly, but rather simply passed to other IceT functions.

       Like  OpenGL  ,the IceT engine behaves like a large state machine. The parameters for engine operation is
       held in the current state. The entire state is encapsulated in a context. Each new context  contains  its
       own state.

       It  is  therefore  possible  to  change  the  entire  current state of IceT by simply switching contexts.
       Switching contexts is much  faster,  and  often  more  convenient,  than  trying  to  change  many  state
       parameters.

Errors

       None.

Warnings

       None.

Bugs

       It may be tempting to use contexts to run different IceT operations on separate program threads. Although
       certainly possible, great care must be taken. First of all, all threads  will  share  the  same  context.
       Second  of  all,  IceT is not thread safe. Therefore, a multi-threaded program would have to run all IceT
       commands in `critical sections' to ensure that the correct context is being used, and the methods execute
       safely in general.

Notes

       icetCreateContext  duplicates the communicator comm.  Thus, to avoid deadlocks on certain implementations
       (such as MPI), the user level program should call icetCreateContext on all processes with the  same  comm
       object at about the same time.

       Copyright (C)2003 Sandia Corporation

       Under  the  terms  of  Contract  DE-AC04-94AL85000  with  Sandia Corporation, the U.S. Government retains
       certain rights in this software.

       This source code is released under the New BSD License.

See Also

       icetDestroyContext(3), icetGetContext(3), icetSetContext(3), icetCopyState(3), icetGet(3)

IceT Reference                                   August  9, 2010                            icetCreateContext(3)