Is there a language that can take advantage of multicore right off the bat without too much bullshit...

Is there a language that can take advantage of multicore right off the bat without too much bullshit? No CUDA bullshit plox

Attached: ?????.jpg (500x500, 100K)

Other urls found in this thread:

chapel-lang.org/
twitter.com/NSFWRedditImage

Rust
Haskell
C with OpenMP
C with OpenCL

user has a decent list, but also consider C/C++ with pthreads or MPI if you need parallelism in a cluster.

>C with MPI
>not too much bullshit

What do you mean with "right off the bat"?
You'll have to write your program with multiple threads which ever language you use.

Cuda isnt real cores

Sorry, no easy way out of this.
There isn't a framework that will adapt heavy parallelism to your brain, *you* have to adapt your brain to heavy parallelism.
Then of course there are various languages/utilities that can abstract/automate part of the boring aspects.

Attached: I wont let you sleep tonigh.png (500x281, 182K)

Go with go routines
C with OpenMP is cool for shared mem
C with MPI is cool for distributed mem

Those and most BEAM VM languages. However, applies.

Erlang, Go, Rust, C (openMP), pthreads etc. etc. there is alot of choices out there.

I mean that I want to write a function and then tell it to use 100% of my resources until the problem is solved.

Pseudo code:
function some_operation(x) {
return x^2;
}

huge_data_set_or_event_loop = [...]
cpu.start(some_operation, huge_data_set_or_event_loop).full_power()

>mfw it's 2018 and Erlang are literally removing Uniprocessor support from BEAM
>and Nodefags want to tell me about muh concurrency

Still, it needs to be a problem that can be divided over however many cores you have available. Can you process every value in the set independently?
It's probably easiest to use a high-level language. I know in C# you can stick everything in a Task object and all the resource management is taken care of. some_operation in its current form isn't intensive enough to make the overhead of Tasks worth it, but you could divide huge_data_set into as many parts as you have cores and feed those into Tasks. That still won't reach 100% efficiency, but it's close enough.

Most languages have second-class support for parallelism, in the sense that it has to be explicit, even if certain languages make it easier than others.

However, there are a few languages with first-class support for parallelism, for example Chapel:
chapel-lang.org/

What you want is Java actually

list.stream().parallel().map(item -> doSomeShit(item)).collect(Collectors.toList());

if you would like a copy of Parallel and Concurrent Programming in Haskell I have epub, mobi, or pdf I can post.

If bash is acceptable, xargs and parallel are a good start

Could you do it? I'd be interested :)

it's part of the functional programming humble bundle, would you like just that book form it or should i post the whole bundle? I think I've got a few of the recent programming bundles hosted online in tar files

Is it easy to make my whole program run multicore/multithreaded in rust? Want to make a game with it and obviously try to squeeze out as much performance as I can

Erlang is literally made for that