skip to main content

Search for: All records

Creators/Authors contains: "Davis, E."

Note: When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).
What is a DOI Number?

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

  1. Abstract

    As devices approach the single-nanoparticle scale, the rational assembly of nanomaterial heterojunctions remains a persistent challenge. While optical traps can manipulate objects in three dimensions, to date, nanoscale materials have been trapped primarily in aqueous solvents or vacuum. Here, we demonstrate the use of optical traps to manipulate, align, and assemble metal-seeded nanowire building blocks in a range of organic solvents. Anisotropic radiation pressure generates an optical torque that orients each nanowire, and subsequent trapping of aligned nanowires enables deterministic fabrication of arbitrarily long heterostructures of periodically repeating bismuth-nanocrystal/germanium-nanowire junctions. Heat transport calculations, back-focal-plane interferometry, and optical images reveal that the bismuth nanocrystal melts during trapping, facilitating tip-to-tail “nanosoldering” of the germanium nanowires. These bismuth-semiconductor interfaces may be useful for quantum computing or thermoelectric applications. In addition, the ability to trap nanostructures in oxygen- and water-free organic media broadly expands the library of materials available for optical manipulation and single-particle spectroscopy.

  2. The inspector/executor paradigm permits using runtime information in concert with compiler optimization. An inspector collects information that is only available at runtime; this information is used by an optimized executor that was created at compile time. Inspectors are widely used in optimizing irregular computations, where information about data dependences, loop bounds, data structures, and memory access pa erns are collected at runtime and used to guide code transformation, parallelization, and data layout. Most research that uses inspectors relies on instantiating inspector templates, invoking inspector library code, or manually writing inspectors. is paper describes abstractions for generating inspectors for loop and data transformations for sparse matrix computations using the Sparse Polyhedral Framework (SPF). SPF is an extension of the polyhedral framework for transformation and code generation. SPF extends the polyhedral framework to represent runtime information with uninterpreted functions and inspector computations that explicitly realize such functions at runtime. It has previously been used to derive inspectors for data and iteration space reordering. is paper introduces data transformations into SPF, such as conversions between sparse matrix formats, and show how prior work can be supported by SPF. We also discuss possible extensions to support inspector composition and incorporate other optimizations. is workmore »represents a step towards creating composable inspectors in keeping with the composability of a ne transformations on the executors.« less