From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Akira Yokosawa <akiyks@gmail.com>
Cc: perfbook@vger.kernel.org
Subject: Re: Julia language
Date: Mon, 27 Nov 2017 10:05:01 -0800 [thread overview]
Message-ID: <20171127180501.GH3624@linux.vnet.ibm.com> (raw)
In-Reply-To: <2241e3df-7540-e0a3-245c-d72348817579@gmail.com>
On Tue, Nov 21, 2017 at 07:39:01AM +0900, Akira Yokosawa wrote:
> On 2017/11/20 09:43:44 -0800, Paul E. McKenney wrote:
> > On Sun, Nov 19, 2017 at 09:30:54AM +0900, Akira Yokosawa wrote:
> >> On 2017/11/19 4:19, Paul E. McKenney wrote:
> >>> On Fri, Nov 17, 2017 at 12:43:19AM +0900, Akira Yokosawa wrote:
> >>>> Hi Paul,
> >>>>
> >>>> Have you heard of "Julia" language?
> >>>>
> >>>> JFYI,
> >>>> As can be seen in its official page at https://julialang.org/ and a Wikipedia
> >>>> article at https://en.wikipedia.org/wiki/Julia_(programming_language),
> >>>> it looks like one of promising answers to perfbook's Section 2.2 "Parallel
> >>>> Programming Goals".
> >>>>
> >>>> As long as high-performance number crunching is concerned, it claims to have
> >>>> comparable performance to C, with a programming productivity much better
> >>>> than C + MPI.
> >>>>
> >>>> Note: I'm not a user of the language at the moment. I just heard of it at
> >>>> a twitter hashtag #julialang.
> >>>>
> >>>> I'd like you to check it up and (hopefully) update the above mentioned
> >>>> section in perfbook.
> >>>
> >>> I had heard of it, but I had not heard of it being seriously proposed
> >>> as the answer to Section 2.2. I have added it to todo.txt with your
> >>> Reported-by.
> >>>
> >>> Have you or has someone you know used this for a large parallel-programming
> >>> project? (Just looking for some real-world confirmation.)
> >>
> >> So you want a secondary-source info on the real-world use?
> >>
> >> I learned of Julia from Gen Kuroki's twitter activity since this June.
> >> He is a mathematician at Tohoku Univiersity, and experimenting/demonstrating
> >> Monte Carlo analysis of several statistic problems using Julia (on a Windows PC!).
> >> But what he is doing right now doesn't qualify as a _large_ parallel-programming
> >> project.
> >>
> >> There is a case-studies page at https://juliacomputing.com/case-studies/,
> >> but this should be regarded as a primary source.
> >>
> >> One of the case study, "Deep Learning for Medical Diagnosis" at
> >> https://juliacomputing.com/case-studies/ibm.html, looks like a collaboration
> >> of IBM and Juliacomputing.
> >>
> >> Could this qualify as a real-world large parallel programming example?
> >
> > Maybe... Some evaluation and a proposal at the end...
> >
> > But please understand that 40+ years working in this field has made me
> > deeply skeptical of sweeping claims for new languages. Now, don't get
> > me wrong, Julia might well be great stuff that deserves mention in the
> > book, but let's first take a quick look at history.
> >
> > Let's start with my employer, IBM. This URL is informative:
> >
> > http://www.softwarepreservation.org/projects/FORTRAN/BackusEtAl-Preliminary%20Report-1954.pdf
> >
> > This is a 1954 report on the specifications for FORTRAN, reportedly
> > co-authored by none other than John Backus. Please see page 3, first
> > full paragraph:
> >
> > Since FORTRAN should virtually eliminate coding and debugging,
> > it should be possible to solve problems for less than half the
> > cost that would be required without such a system.
> >
> > To be fair, they were comparing coding in FORTRAN to coding in IBM 704
> > assembly language, but still, my use of FORTRAN in the 1970s involved
> > -significant- coding and debugging. ;-)
>
> I suppose it was the only language you could choose.
>
> >
> > Julia's case-studies page is impressive, but at first glance it appears
> > to mostly be centered on HPC, which leads me to question the "generality"
> > part of the iron triangle of parallel programming. Gen Kuroki's use
> > case seems to be in a similar area.
>
> As I said in the first mail in this thread:
>
> >>>> As long as high-performance number crunching is concerned, [...]
>
> I was not sure of "generality" either.
>
> >
> > So what to do?
> >
> > For the upcoming release, nothing. After all, it is only a few days away.
> >
> > But perhaps later it might be good to expand Section 17.4 ("Functional
> > Programming for Parallelism") to cover languages instead of just
> > functional programming. Julia might fit in here, as might Rust (given
> > the ownership aspects of its type system), Go (another popular parallel
> > system), and maybe even Python (because everyone and their dog seems
> > to use it).
> >
> > Does that seem reasonable?
>
> Sounds good!
>
> Julia seems the youngest one among them.
> We can wait for (say) a few years to see where it goes, I suppose.
And here is Eric Raymond's take on this: http://esr.ibiblio.org/?p=7724
Thoughts?
Thanx, Paul
next prev parent reply other threads:[~2017-11-27 18:04 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-16 15:43 Julia language Akira Yokosawa
2017-11-18 19:19 ` Paul E. McKenney
2017-11-19 0:30 ` Akira Yokosawa
2017-11-20 17:43 ` Paul E. McKenney
2017-11-20 22:39 ` Akira Yokosawa
2017-11-27 18:05 ` Paul E. McKenney [this message]
2017-11-28 2:07 ` Yubin Ruan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171127180501.GH3624@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=akiyks@gmail.com \
--cc=perfbook@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox