Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] IR code generation and JIT execution in a multithread environment"
2009 Jan 12
0
[LLVMdev] IR code generation and JIT execution in a multithread environment
Hi Everyone,
my goal is to create a service with multiple threads, each of them
generating IR code and JIT'ing/executing it in their threads
and some threads will share generated code through a code repository...
1. Is there a guideline/docu out there, which describes serialization of
some LLVM objects,
especially llvm::ExecutionEngine, llvm::ModuleProvider, llvm::Module?
2. Since
2009 Jan 12
3
[LLVMdev] IR code generation and JIT execution in a multithread environment
On Jan 12, 2009, at 11:10, Edgar Geisler wrote:
> my goal is to create a service with multiple threads, each of them
> generating IR code and JIT'ing/executing it in their threads and
> some threads will share generated code through a code repository...
Hi Edgar,
Module and Value are unsafe for concurrent access--even disjoint
instances thereof. So you'll need to hold a
2009 Jan 12
0
[LLVMdev] IR code generation and JIT execution in a multithread environment
Quick related Q:
Does the global lock of the JIT during code generation prevent
concurrent execution of already JIT-ted code?
Thanks.
On Jan 12, 2009, at 9:34 AM, Gordon Henriksen wrote:
> On Jan 12, 2009, at 11:10, Edgar Geisler wrote:
>
>> my goal is to create a service with multiple threads, each of them
>> generating IR code and JIT'ing/executing it in their threads
2009 Oct 06
0
[LLVMdev] 2.6/trunk Execution Engine question
>
> It just occurred to me... in the case where it's failing, the
> ExecutionEngine was trying to JIT a global, and it had never JITted
> any functions! I'll work up a small test case, but I think it's
> relevant since the thing is trying to allocate the globals with the
> functions.
>
That was it! The following small test program crashes in getPointerToGlobal:
2008 Feb 28
1
[LLVMdev] Are multiple execution engines allowed?
I'm trying to set up some automated testing, and I'd like to have
multiple instances of ExecutionEngines, so that the state from the
first test doesn't alter the second state.
Right now I'm doing something along the lines of:
Module *emptyModule = new Module("emptyModule");
ExecutionEngine executionEngine = ExecutionEngine::create(emptyModule);
2007 Jul 15
0
[LLVMdev] JIT Leaks?
On Sun, 15 Jul 2007, Paolo Invernizzi wrote:
> First, I'm not sure if deleting the ExecutionEngine is all I need to
> clean-up... so I started with a minimal test just to check
Is this llvm 2.0 or llvm svn head? Several minor memory leaks have been
fixed since llvm 2.0.
-Chris
> int main( int argc, char **argv ){
> while( true ){
> Module *M = new
2007 Jul 15
2
[LLVMdev] JIT Leaks?
First, I'm not sure if deleting the ExecutionEngine is all I need to
clean-up... so I started with a minimal test just to check
int main( int argc, char **argv ){
while( true ){
Module *M = new Module("M");
Function *F = cast<Function>(M->getOrInsertFunction("F",
Type::Int32Ty, (Type*)0));
BasicBlock *BB = new
2009 Feb 27
0
[LLVMdev] LLVM JIT in multi-threaded environments
Hi all,
I have some questions on some strange behavior I'm seeing with LLVM JIT in a
multithreaded application. If this is the wrong forum for questions like
this, I apologize, and please redirect me.
The setup of the application is a singleton instance of a static Compiler
object, which maintains local copies of an LLVM Module, JIT ExecutionEngine,
and FunctionPassManager with registered
2004 Aug 09
0
[LLVMdev] API on JIT, code snippets
On Mon, 9 Aug 2004, Reid Spencer wrote:
> Attached are three files: "valery.cpp" which contains your original, "reid.cpp"
> which contains corrections to most of the FIXME items and "diffs" which shows
> the differences between them. The differences should be instructive on what to
> do. You were really, really close .. just a few details changing. The
2004 Aug 09
1
[LLVMdev] API on JIT, code snippets
Valery,
First response of several.
I don't know why the demo page at UIUC is unavailable but there is an enhanced
copy of it running on the mirror at http://llvm.x10sys.com/demo/ if you ever
need it. Running it produced the following LLVM equivalent for the C code in
your example.
implementation ; Functions:
int %add1(int %x) {
entry:
%tmp.1 = add int %x, 1 ; <int> [#uses=1]
2007 Dec 23
0
[LLVMdev] Ocaml JIT example
Hi all,
Here's an example of how to LLVM's JIT compiler/interpreter from Ocaml.
$ cat jithelloworld.ml
(* jithelloworld.ml *)
open Llvm
open Llvm_executionengine
let execute_function f m =
(* Set up the JIT. *)
let jit = ExecutionEngine.create (ModuleProvider.create m) in
ExecutionEngine.run_static_ctors jit;
(* Execute the function. *)
ignore
2009 Jun 23
3
[LLVMdev] X86 JIT
On Mon, Jun 22, 2009 at 4:43 PM, Chris Lattner <clattner at apple.com>
wrote:
>
> On Jun 22, 2009, at 2:19 PM, Kasra wrote:
>
> Hi,
>
> for some reason I could not get the machine code generator for x86
> working. The interpreter is the only thing that works, is there
> anything that I am missing here?
>
> This recently changed. In your main program, please
2012 Aug 09
0
[LLVMdev] RFC: MCJIT enhancements - JIT overview
On Wed, Jul 25, 2012 at 12:24 AM, Kaylor, Andrew
<andrew.kaylor at intel.com> wrote:
> Following up and expanding on an earlier conversation, I'd like to discuss
> making several non-trivial changes to the MCJIT engine and related objects.
I would like to take part in this discussion
(http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-July/052022.html) but
there are still subjects
2009 Jul 23
1
[LLVMdev] Possible change to ExecutionEngine::create()
Hi,
Would it be possible to make the following slight change to ExecutionEngine::create()?
I would like to be able to disable the automatic enumeration of loaded modules, and the subsequent searching for undefined symbols (using SearchForAddressOfSymbol).
I propose adding an extra parameter to the function definition, defaulting to true.
static ExecutionEngine *create(ModuleProvider *MP,
2009 Jul 23
0
[LLVMdev] Possible change to ExecutionEngine::create()
On Jul 22, 2009, at 9:43 PM, Rob Grapes wrote:
> Hi,
>
> Would it be possible to make the following slight change to
> ExecutionEngine::create()?
>
> I would like to be able to disable the automatic enumeration of
> loaded modules, and the subsequent searching for undefined symbols
> (using SearchForAddressOfSymbol).
>
> I propose adding an extra parameter to
2006 Nov 26
3
Questions about generating samples in R
Hello!
I have a data set with 8 columns and in about 5000 rows. What I want to
do is to generate samples of this data set.
Samples of a special size, as example 200.
What is the easiest way to do this? No special things are needed, only
the random selection of 200 rows of the data set.
Thanks
Alex
--
Alexander Geisler * Kaltenbach 151 * A-6272 Kaltenbach
email: alexander.geisler at gmx.at
2008 May 22
4
[LLVMdev] SSE intrinsic alignment bug?
Hi all,
I think I might have found a potential bug when using SSE intrinsic and
unaligned memory. Here's the code to reproduce it:
#include "llvm/Module.h"
#include "llvm/Intrinsics.h"
#include "llvm/Instructions.h"
#include "llvm/ModuleProvider.h"
#include "llvm/ExecutionEngine/JIT.h"
#include
2004 Aug 10
1
[LLVMdev] API on JIT, code snippets
Valery,
Your JIT sample program has been added to projects/HowToUseJIT.
I have defaulted the license to the standard UIUC license. Let me know if
that's not okay and I'll fix it.
If you continue to work on this (providing a command line option to use either
interpreter or JIT would be nice), please provide patches against these files
and I'll commit them for you.
Here's the
2006 Dec 07
2
Simulation in R
Hello!
I have the following problem.
My code:
--snip--
ergebnisse <- rep(0, each=2)
stichproben <- rep(0, each=2)
for (i in seq(1:2)) {
n <- dim(daten)[1]
ix <- sample(n,200) # producing samples
samp_i <- daten[ix,]
stichproben[i] <- samp_i # doesn???t works
# Calculation of the model:
posterior_i <- MCMClogit(y ~ fbl.ind + fekq3 + febitda4 + fuvs + fkru +
2006 Dec 07
1
Simulation in R - Part 2
Hello!
So, the simulation works (drawing 100 samples and then calculate the
model for each sample). Here is the code:
--snip--
# sample size n=200
ergebnisse200 <- rep(0, each=100)
stichproben200 <- vector(?list?, 100)
default200 <- rep(0, each=100)
for (i in seq(1:100)) {
n <- dim(daten)[1]
ix <- sample(n,200)
samp_i <- daten[ix,] # draw samples
y <- sum(samp_i$y)