Researcher profile

James Clarkson

James Clarkson contributes to research discovery and scholarly infrastructure.

ResearcherAffiliation not importedOpen to collaborate

Trust snapshot

Quick read

Trust 13 - Baseline
2works
0followers
4topics
4close collaborators

Actions

Decide how to stay connected

Follow researcher0

Research graph

See the researcher in context

Open full explorer

Inspect adjacent work, topics, institutions and collaborators without jumping out to a separate graph page.

Building this graph slice

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Published work

2 published item(s)

preprint2016arXiv

Atomic-scale control of magnetic anisotropy via novel spin-orbit coupling effect in La2/3Sr1/3MnO3/SrIrO3 superlattices

Magnetic anisotropy (MA) is one of the most important material properties for modern spintronic devices. Conventional manipulation of the intrinsic MA, i.e. magnetocrystalline anisotropy (MCA), typically depends upon crystal symmetry. Extrinsic control over the MA is usually achieved by introducing shape anisotropy or exchange bias from another magnetically ordered material. Here we demonstrate a pathway to manipulate MA of 3d transition metal oxides (TMOs) by digitally inserting non-magnetic 5d TMOs with pronounced spin-orbit coupling (SOC). High quality superlattices comprised of ferromagnetic La2/3Sr1/3MnO3 (LSMO) and paramagnetic SrIrO3 (SIO) are synthesized with the precise control of thickness at atomic scale. Magnetic easy axis reorientation is observed by controlling the dimensionality of SIO, mediated through the emergence of a novel spin-orbit state within the nominally paramagnetic SIO.

preprint2015arXiv

Boosting Java Performance using GPGPUs

Heterogeneous programming has started becoming the norm in order to achieve better performance by running portions of code on the most appropriate hardware resource. Currently, significant engineering efforts are undertaken in order to enable existing programming languages to perform heterogeneous execution mainly on GPUs. In this paper we describe Jacc, an experimental framework which allows developers to program GPGPUs directly from Java. By using the Jacc framework, developers have the ability to add GPGPU support into their applications with minimal code refactoring. To simplify the development of GPGPU applications we allow developers to model heterogeneous code using two key abstractions: \textit{tasks}, which encapsulate all the information needed to execute code on a GPGPU; and \textit{task graphs}, which capture the inter-task control-flow of the application. Using this information the Jacc runtime is able to automatically handle data movement and synchronization between the host and the GPGPU; eliminating the need for explicitly managing disparate memory spaces. In order to generate highly parallel GPGPU code, Jacc provides developers with the ability to decorate key aspects of their code using annotations. The compiler, in turn, exploits this information in order to automatically generate code without requiring additional code refactoring. Finally, we demonstrate the advantages of Jacc, both in terms of programmability and performance, by evaluating it against existing Java frameworks. Experimental results show an average performance speedup of 32x and a 4.4x code decrease across eight evaluated benchmarks on a NVIDIA Tesla K20m GPU.