• Learning and Using Different Task Rule Updating Strategies Require Extensive Practice
    with Shengjie Xu, Tobias Egner, Tom Verguts, and Senne Braem
    Cognitive Science 50 (9). 2026.
    People adjust how fast they update task rules, depending on the volatility of their environment, by regulating cognitive control accordingly. We investigated whether this adaptation is primarily driven by recently experienced volatility in task demands, or can also be shaped by learned environmental knowledge indicating expected levels of volatility. To this end, we trained participants on a Wisconsin Card Sorting Test task where different environments required different speeds of task rule upda…Read more
  •  14
    Productivity and performance using partitioned global address space languages
    with K. Yelick, D. Bonachea, W. Y. Chen, P. Colella, K. Datta, J. Duell, S. L. Graham, P. Hargrove, P. Hilfinger, P. Husbands, C. Iancu, A. Kamil, R. Nishtala, J. Su, and M. Welcome
    Partitioned Global Address Space languages combine the programming convenience of shared memory with the locality and performance control of message passing. One such language, Unified Parallel C is an extension of ISO C defined by a consortium that boasts multiple proprietary and open source compilers. Another PGAS language, Titanium, is a dialect of JavaTM designed for high performance scientific computation. In this paper we describe some of the highlights of two related projects, the Titaniu…Read more
  •  20
    Parallel languages and compilers: Perspective from the Titanium experience
    with K. Yelick, P. Hilfinger, S. Graham, D. Bonachea, J. Su, A. Kamil, K. Datta, and P. Colella
    We describe the rationale behind the design of key features of Titanium-an explicitly parallel dialect of Java for high-performance scientific programming-and our experiences in building applications with the language. Specifically, we address Titanium's partitioned global address space model, single program multiple data parallelism support, multi-dimensional arrays and array-index calculus, memory management, immutable classes, operator overloading, and generic programming. We provide an overv…Read more