[TYPES/announce] Postdoc position at Imperial College London in "Reliable Many-Core Programming"
Alastair Donaldson
alastair.donaldson at imperial.ac.uk
Mon Apr 25 10:39:10 EDT 2016
[Apologies if you receive multiple copies.]
I am looking to recruit a postdoc for a Research Associate position in
my Multicore Programming Group at Imperial College London, to work on
program analysis, verification and testing techniques for many-core systems.
The post is for 2.5 years (with some flexibility in start date and
duration), and will be funded as part of my recently-awarded EPSRC Early
Career Fellowship project, “Reliable Many-Core Programming”
(http://gow.epsrc.ac.uk/NGBOViewGrant.aspx?GrantRef=EP/N026314/1).The
Department of Computing at Imperial provides a vibrant and stimulating
research environment in the heart of London, with leading research
groups working on programming languages, verification and testing.The
department of is consistently recognised by high research ratings. In
the 2014 REF assessment, the department was ranked third (1st in the
Research Intensity table published by The Times Higher), and was rated
as "Excellent" in the previous national assessment of teaching quality.
Many-core CPU and GPU architectures offer tremendous potential for
building exciting next-generation applications.However, they present a
real challenge to software developers and platform vendors, because (a)
writing high-performance code in many-core programming models is
difficult and error-prone, and (b) building highly optimizing compilers,
drivers and runtime systems for these programming models is a large and
complex task.
My recent work, with my research group and collaborators
internationally, has demonstrated that formal specification,
verification, program analysis and testing techniques can be very
effective in the early identification of reliability issues across the
many-core stack, including errors in next-generation architecture
designs, bugs in many-core compilers, ambiguities and errors in
many-core language specifications, subtle defects in many-core software,
and problems in high-level translation tools that generate many-core
code from higher-level representations.
The aim of the “Reliable Many-Core Programming” project is to devise
novel techniques to aid in the engineering of rigorous many-core
software stacks, by investigating:
·Formal techniques for precisely specifying many-core programming
language semantics
·Program analysis and verification techniques for reasoning about the
behaviour of massively parallel many-core code
·Translation validation methods for checking the correctness of
automatic transformations from high-level languages into optimized
many-core code
·Automatic test case generation to identify defects in low-level
compilation tools targeting many-core platforms
With a strong emphasis on tool support and automation, the project will
involve collaboration with four key industrial partners – AMD, ARM,
Imagination Technologies and NVIDIA – as well interaction with Prof
Albert Cohen (INRIA) and his research group.
The breadth of the fellowship project allows for some flexibility in the
profile of applicants.For example:
·The project would be a good fit for a practically-minded applicant who
has experience working on compiler frameworks, expertise related to
concurrent and multi/many-core software (e.g. familiarity with
OpenCL/CUDA), and some familiarity with optimization and architectural
issues.I would expect such a practically-minded candidate to be
interested in learning about more formal techniques and developing their
theoretical background according to the needs of the project.
·The project would also be suited to a more theoretically-minded
applicant, with a strong background in formal verification and reasoning
about concurrent programs.There is plenty of scope for such a candidate
to work on the theoretical foundations of many-core programming, but I
would seek to appoint a researcher who is also enthusiastic to learn
about practical aspects of many-core systems, and willing to invest a
portion of their time in software engineering work and empirical evaluation.
·A candidate with a profile lying between the above examples would be ideal.
The main qualities I am looking for in an applicant are (a) a strong
research track record in a relevant area, (b) ambition to lead
high-quality research, (c) excellent communication skills, (d) solid
programming skills, and (e) a desire to learn about many-core systems in
detail.
I actively encourage an applicant who wishes to explore their own
research ideas within the scope of the project, and a research statement
is required as part of the application.My research group, and Imperial
in general, also offer many opportunities to help postdocs develop as
independent researchers (e.g. through Imperial’s postdoc development
centre,
https://www.imperial.ac.uk/staff-development/postdoc-development-centre/).
Please have a look at our group’s web pages and recent publications
(http://multicore.doc.ic.ac.uk/) to see whether the sort of work we do
excites you, and please contact me if you are interested in applying for
the position (alastair.donaldson at imperial.ac.uk).
For formal details on how to apply, look at our department’s vacancies
(http://www.imperial.ac.uk/computing/job-vacancies/) and search for
“Reliable Many-Core Programming”.
Best wishes
Alastair Donaldson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.seas.upenn.edu/pipermail/types-announce/attachments/20160425/ab01a129/attachment-0001.html>
More information about the Types-announce
mailing list