The context structure is used to convey information about the parallel environment as well as option settings for BlockSolve. Before calling any BlockSolve routines, the user must first allocate a context (a structure called BSprocinfo) for BlockSolve using the routine BScreate_ctx(); it takes no arguments. When the last BlockSolve routine is called, the context can be freed by calling BSfree_ctx() with the context as the only argument. After calling BScreate_ctx(), the user can then call one of several routines to modify the context. We provide default settings for the context that we think will, in general, provide the best performance, but the user may benefit from changing some of the settings. The settings and routines for changing them are as follows: