Re: NET framework and hyperthreading/MMX/SSE/....




Oops, that reply was very badly worded and incomplete, let me try again.

"Olaf Baeyens" <olaf.baeyens@xxxxxxxxxx> wrote in message
news:42562a10$0$20673$ba620e4c@xxxxxxxxxxxxxxxxx

>>
>> Yes there are certainly things to be considered. On one hand you could
>> say
>> that it is the developers responsibility to deal with threading within
>> parallel blocks just as they would if they had written the threads
>> themselves, on the otehr some sort of compiler guarentee woudl be nice.
>> I don't know what I like, don't know that I'll ever even finish this
>> idea,
>> but it is one that is on my active consideration pile.
>>
> My experience is that a lot of developers gets scared of the unknow and
> oddly enough the reasoning they give are emotional based instead of logic
> based. Instead of actual testing if it is that bad, they will use any
> emotional technique in order not to touch the thing.

Since any work I would do would be nothing but experimentation quality, I
don't think I'd need to worry much about individuals going emotional on it.
Anyone who would touch taht particular compiler would likely do so strictly
to play with the parallelziation.

> So I guess that if you make loops default to execute in paralel, then they
> will get scared because they have no control.
> So I guess if you implement a feature like that, then you must at least
> provide a way to disable it too. A keyword like noparalel, or a compiler
> option. Just an idea.

Parallel would be like the checked{} block, forcing parallelization within
that block. Not sure if turning it off makes any sense or not, that's
something to think about.
>
> My guess is that programmers coming from VB, probably would love the fact
> that it gets treaded, and programmers from VC++ probably would love not to
> have it hyperthreaded because they are mostly scared of things they do not
> have control over.
>

If the design was similar to OpenMP in capability, I imagine advanced VC++
coders would like it as it should offer a much finer grained control than I
have illustrated here.

But the VB\Java\Delphi crowd would be the core target, as this would be C#,
so I wouldn't personally go as far as OpenMP does.

> One thing I do miss is the ability to include ILAsm in the code. And I
> don't
> know if ILAsm contains MMX and the SSEx-like instructions? But then again,
> this could give additional problems with security things.

Directly embeddable IL would be a bit tricky(I'm not sure how it would deal
with variables), but it would probably require a loss of verifiability, thus
unsafe code.

Now, IL doesn't have any form of MMX\SSE style instructions that I can think
of. So that capability is somethign the CLR developers would have to add. I
hope they are thinking about it and chose to, being able to hint to the JIT
to use instructions of that nature might produce faster\better code in
future runtime generations.


.



Relevant Pages

  • Re: optimation, a black art?
    ... RISC is no less problematic - the MIPS architecture almost failed ... initially because it depended too much on the compiler for scheduling ... instructions regardless of whether the branch was taken. ... blocks and scheduled execution. ...
    (comp.lang.lisp)
  • Re: interpreter vs. compiled
    ... there is a process that runs product instructions, ... the notion that JIT technology compiles code. ... my C implementation a compiler. ... new machine language for each one. ...
    (comp.lang.python)
  • Re: optimation, a black art?
    ... instructions may be completely subsumed by slower running ones. ... Trace scheduling (also called Basic Block ... To do this the compiler has to estimate where the value lies in the ... permutation generate the actual sequence of instructions following ...
    (comp.lang.lisp)
  • Re: Delphi 8: Confusion
    ... You're confusing what the compiler produces with how the IDE presents ... by the CPU as a series of instructions. ... those CPU instructions in a human-readable manner is by using assembler ... The Delphi compiler has a built-in assembler, ...
    (alt.comp.lang.borland-delphi)
  • Re: What micros do you actually hate to work with?
    ... the compiler was pretty good to start with. ... level optimizations and fine tuning every bit of the compiler. ... emitting fewer instructions in the end. ... as assembler written by an expert. ...
    (comp.arch.embedded)