The graph on the Wikipedia entry indicates that, at least through 2004, the number of transistors was doubling every two years, in accordance to one of the more popular formulations.
Indeed, however the Itanium 2 is an IA-64 processor, and not commonly used for generic customer PCs, so it doesn't really compare well. It looks like the current and near futures involve ~3 GHz clock speeds and multiple cores, so it would be interesting to plot the total FLOPS available on IA-32 architectures versus time as multicore kicks in. A big question is how to take advantage of many processors as a programmer in the real world: functional programming, referential transparency, that nice old map() function inherited from Lisp, and libraries like OpenMP seem to offer starting points.
By functional programming I meant that you can get transparent trivial and nontrivial parallelization for some functions if you mark them as referentially transparent and have a smart compiler, not that a "functional programming language" should be used.
Every free person desires to expand beyond his or her limited vantage in space, time, and perception. My interest is this freedom. Freedom is the absence of constraint; it is a gun and an empty desert; it is the Wild West. Freedom is abstract; it is a delight in physics and the cosmos. Freedom is human: art, friendship, love. Freedom is going where one wishes. Freedom is beauty; when one is free, life is beautiful.
My interests are informed by my love of freedom: reading, writing poetry, painting, writing fiction, making music, academic research, watching the stars, science, technology, snowskiing, being in the outdoors, hacking.
5 Comments:
The graph on the Wikipedia entry indicates that, at least through 2004, the number of transistors was doubling every two years, in accordance to one of the more popular formulations.
Indeed, however the Itanium 2 is an IA-64 processor, and not commonly used for generic customer PCs, so it doesn't really compare well. It looks like the current and near futures involve ~3 GHz clock speeds and multiple cores, so it would be interesting to plot the total FLOPS available on IA-32 architectures versus time as multicore kicks in. A big question is how to take advantage of many processors as a programmer in the real world: functional programming, referential transparency, that nice old map() function inherited from Lisp, and libraries like OpenMP seem to offer starting points.
By functional programming I meant that you can get transparent trivial and nontrivial parallelization for some functions if you mark them as referentially transparent and have a smart compiler, not that a "functional programming language" should be used.
This post has been removed by a blog administrator.
This post has been removed by a blog administrator.
Post a Comment
<< Home