Browse thread
Disabling the OCaml garbage collector
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Thomas Fischbacher <tf@f...> |
| Subject: | Re: [Caml-list] Disabling the OCaml garbage collector |
Raj, > I would highly appreciate any pointers to existing code that does the > 'register_global_roots()' thing. Examples would definitely help me code > it correctly. I would suggest you download the nsim sources from: http://nmag.soton.ac.uk/nmag/current/download/nmag-0.1-core.tar.gz and study the nsim/mpi_petsc/petsc.ml and petsc_stubs.c files. (Actually, the code quality of these functions varies a bit. Most of the module is reasonably good style, but not everything.) Basically, this is an OCaml interface to the PETSc "parallel sparse linear algebra" library. (It also assimilated Xavier's old MPI interface for OCaml. Had to do that, sorry.) Of particular interest should be the function with_petsc_vector_as_bigarray, which will take an opaque petsc vector and a function that takes a double-float bigarray and calls that function from C in such a way that it can address the Petsc vector as if it were a bigarray. Also, you might be interested in the "sundials" module, which interfaces the CVODE time integrator from libsundials to OCaml. -- best regards, Thomas Fischbacher tf@functionality.de