Administrator
|
Well, lets start the usual friam whining. Hey, you left out foobar++! But to be fair, I'd be fine if you replaced java with c/c++.
The point, obviously, is to give a span of languages that hit the main points. -- Owen On Jul 31, 2010, at 5:15 PM, Douglas Roberts wrote: I guess you're not interested in teaching languages appropriate to HPC implementations, Owen. C++ and MPI... ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org |
I guess I was whining. While I'm at it, I'd like to note (whine) that very few universities seem interested in, or capable of, teaching high performance computing methodology.
--Doug
On Sat, Jul 31, 2010 at 10:55 PM, Owen Densmore <[hidden email]> wrote:
-- Doug Roberts [hidden email] [hidden email] 505-455-7333 - Office 505-670-8195 - Cell ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org |
Douglas Roberts wrote:
> While I'm at it, I'd like to note (whine) that very few universities > seem interested in, or capable of, teaching high performance computing > methodology. Nah. In the coming years, scalability and reliability challenges of exascale computing will challenge most HPC doctrine, anyway. Marcus ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org |
Administrator
|
In reply to this post by Douglas Roberts-2
It will be nice when we can try HPC easily at home, so to speak. In order for an individual to set up a HPC system of some sort, most of us would have to buy systems we don't already have. In a class, we could have a set of 4-person projects where each person contributes their laptop as a node.
But still, it'd be awkward, and I suspect the only realistic solution would be amazon clusters: At one time, this was also true for client-server computing, but web hosting solved that nicely. If you had to remove one of the proposed environments: Command-line programming: Bash & Python System Programming: Java Web Server Programming: PHP Web Client Programming: Javascript to include HPC, which would it be? I guess the obvious would be Java, as suggested before and replace "System programming" with "System and HPC programming". Hmm..that'd open up the possibility of GPU programming, which would cover both systems and graphics. Maybe we're onto something here! -- Owen On Aug 1, 2010, at 6:47 AM, Douglas Roberts wrote: I guess I was whining. While I'm at it, I'd like to note (whine) that very few universities seem interested in, or capable of, teaching high performance computing methodology. ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org |
Administrator
|
In reply to this post by Marcus G. Daniels
On Aug 1, 2010, at 8:52 AM, Marcus G. Daniels wrote:
Douglas Roberts wrote: >> While I'm at it, I'd like to note (whine) that very few universities seem interested in, or capable of, teaching high performance computing methodology. > Nah. In the coming years, scalability and reliability challenges of exascale computing will challenge most HPC doctrine, anyway. > > Marcus Agreed! It should be great fun when our laptops have 12 processors and 2 GPUs. Clearly that's driving many of the programming changes at Apple and MS. I understand VM designs help ( such as OS X LLVM: http://llvm.org/releases/download.html ), as do language changes such as Java's lambda expressions which are designed for MP. And of course our earlier chat about Go applies. Doug: would you be OK if we did not include C/C++ if we did include Go? Have you got it running on your linux boxes? It builds nicely on Darwin, so I'm sure it'd be a snap. I'd like your view on how it would fit into HPC environments like you work with. -- Owen ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org |
In reply to this post by Owen Densmore
Owen Densmore wrote:
> It will be nice when we can try HPC easily at home, so to speak. AMD's OpenCL toolkit scales well on Opteron system. Also, Snow Leopard comes with an OpenCL implementation and scales well for small problems on the GT9400 and GT9600 found in a MacBook Pro. http://developer.amd.com/gpu/atistreamsdk/pages/default.aspx From a educational point of view, the problems of GPUs (high latency) are a benefit because an experimenter has to learn how to deal with an `unbalanced' design. In the future, more and more communication will be on chip, but asynchronous. Finding ways to deal with that will be a challenge, and the people that have the skills to do it will be at an advantage in the HPC market. There is a lot of useful investment that can be done at a small scale, and doesn't require having access to tens of thousands of boxes and fancy interconnects. The hard issues for coarse-grained communication will be related to resilience, when nodes go down or give bad results -- in large part figuring out algorithms for adapting to a compute fabric that is not fixed. Even researchers that do have access to such fabrics don't have direct control over them. A given, more or less, and you deal with it. http://www.nvidia.com/object/cuda_opencl_new.html http://www.alphaworks.ibm.com/tech/opencl/faq http://www.pgroup.com/support/downloads.php Marcus ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org |
OpenCL doesn't do distributed message passing parallelism, only data parallel. From Wikipedia: http://en.wikipedia.org/wiki/OpenCL
I doubt that message passing distributed computing will be easy in our lifetime(s). Which is just fine by me -- job security!
--Doug On Sun, Aug 1, 2010 at 9:25 AM, Marcus G. Daniels <[hidden email]> wrote:
============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org |
Doug writes:
> /OpenCL provides parallel computing using task-based and > data-based parallelism. / > > I doubt that message passing distributed computing will be easy in our > lifetime(s). OpenCL provides a partial ordering of event dependencies, or in the simplest case, an in-order queue of tasks or data parallel operations. These operations can be kernel invocations (function calls) or asynchronous memory transfers between address spaces. A device is free to implement the latter using remote directory memory access (RDMA) transfers, such as modern MPI implementations would do. A PCIe connected GPU is in some ways a standalone system, and I don't see a reason why a moderate sized cluster couldn't be completely handled by OpenCL. There have been some projects in that direction like clumpi (OpenCL under MPI). Since GPUs have such ridiculously fast floating point performance, learning how to program them is a relevant skill in HPC. OpenCL is not an integrated single source solution, but at least it is an affordable place to start (the software is free), and doesn't lock you in to one vendor. I could imagine higher-level languages targeting OpenCL as a sort of assembly language. But, if you want to understand how to make performant code, one needs to have an idea how this stuff works.. Marcus ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org |
In reply to this post by Owen Densmore
Owen,
re: "they share many features, (loops, conditionals, types)"
Smile when I say this---
but, good Smalltalk programmers would almost never write a loop (instead they would use do: or select: or send some similar message to a collection), would use only simple conditionals (no boolean or nested IFs and never a case statement), and - because they are not brain dead - would never use types. [No, a class is not a type, even an abstract data type. At most it is a 'prototype' ala Lakoff and Johnson. It is also an "object factory." -- At least this is the way it was supposed to be. Sigh!]
davew
On Sat, 31 Jul 2010 16:47 -0600, "Owen Densmore" <[hidden email]> wrote:
Given the constraints and goals, my approach would be to teach that there are many languages in different environments, but that they share many features (loops, conditionals, types, ...). ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org |
Prof David West wrote:
> > but, good Smalltalk programmers would almost never write a loop > (instead they would use do: or select: or send some similar message to > a collection) As would almost any good programmer in any language. Most languages have these in their standard libraries. > would use only simple conditionals (no boolean or nested IFs and never > a case statement), and - because they are not brain dead - would never > use types. Don't agree. All a statically typed language needs is a reflection system, generics built upon that, and macros. From that you can make dynamic types when you need them. For that effort, you 1) get to know, at compile time when you've missed cases or misused interfaces, and 2) performance. C++ programs, for example, that always use pure virtuals instead of private member functions have more bloat and are slower. For new users, it's useful to have a lower correctness wall and less up-front work. For example, by up-front work, I mean the cumbersome mechanics of declaring complex union types. Then they can make progress right away and stay engaged. Languages like Smalltalk, Scheme, R, or Pure are appealing for these users. For professional development, I think having internal consistency checks, like strong typing, is useful. Type inference and macros (e.g. Haskell) mostly eliminate the redundant mechanical aspects. Marcus ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org |
In reply to this post by Prof David West
Hey all,
My former Ph.D. adviser, Jeff Schank, is trying to start a database to connect agent based modelers from a variety of different disciplines. He is putting together a very impressive website at http://www.agent-based-models.com/blog/?page_id=172 If you would like your name added to the list, or want to suggest other people who should be listed, send an email, with a link to your/their webpage to: [hidden email] Thanks, Eric Charles Professional Student and Assistant Professor of Psychology Penn State University Altoona, PA 16601 ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org |
I'm not sure how Jeff evaluated other abm-website options. He is much deeper in the abm community than I am, and felt there was a niche to fill. In particular, I believe he thought there was room for a site that listed people doing abm in as many areas as possible. One potential for the site would thus be as a sort of academic dating site - it could connect people from different academic disciplines / problem domains, whose traditional disciplinary boundaries would otherwise keep them unaware of each other. The people he has contacted thus far have been enthusiastic and supportive, so clearly he is finding other people who are not tapped into whatever other resources you are referring to. Because I am honestly ignorant of the field, what are the major sites that you feel currently serve this need? (Or related needs?) Thank you, Eric P.S. Just to plug the link again: http://www.agent-based-models.com/blog/?page_id=172 Shoot him an email if you are interested in being listed: On Tue, Aug 3, 2010 01:21 PM, "glen e. p. ropella" <[hidden email]> wrote: ERIC P. CHARLES wrote circa 08/02/2010 11:37 PM: ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org |
Free forum by Nabble | Edit this page |