Svoboda | Graniru | BBC Russia | Golosameriki | Facebook
skip to main content
10.1145/1735688.1735693acmotherconferencesArticle/Chapter ViewAbstractPublication PagesgpgpuConference Proceedingsconference-collections
research-article

Cortical architectures on a GPGPU

Published: 14 March 2010 Publication History
  • Get Citation Alerts
  • Abstract

    As the number of devices available per chip continues to increase, the computational potential of future computer architectures grows likewise. While this is a clear benefit for future computing devices, future chips will also likely suffer from more faulty devices and increased power consumption. It is also likely that these chips will be difficult to program if the current trend of adding more parallel cores continues to follow in the future. However, recent advances in neuroscientific understanding make parallel computing devices modeled after the human neocortex a plausible, attractive, fault-tolerant, and energy-efficient possibility.
    In this paper we describe a GPGPU extension to an intelligent model based on the mammalian neocortex. The GPGPU is a readily-available architecture that fits well with the parallel cortical architecture inspired by the basic building blocks of the human brain. Using NVIDIA's CUDA framework, we have achieved up to 273x speedup over our unoptimized C++ serial implementation. We also consider two inefficiencies inherent to our initial design: multiple kernel-launch overhead and poor utilization of GPGPU resources. We propose using a software work-queue structure to solve the former, and pipelining the cortical architecture during training phase for the latter. Additionally, from our success in extending our model to the GPU, we speculate the necessary hardware requirements for simulating the computational abilities of mammalian brains.

    References

    [1]
    K. J. Barker, K. Davis, A. Hoisie, D. J. Kerbyson, M. Lang, S. Pakin, J. C. Sancho, Entering the Petaflop Era: The Architecture and Performance of Roadrunner, in Proc. IEEE/ACM Super Computing, Austin, TX, Nov. 2008.
    [2]
    Billconan and Kavinguy. A Neural Network on GPU. http://www.codeproject.com/KB/graphics/GPUNN.aspx.x.
    [3]
    CUDA Programming Guide, 2.1, NVIDIA. http://developer.download.nvidia.com/compute/cuda/2_1/toolkit/docs/NVIDIA_CUDA_Programming_Guide_2.1.pdf.
    [4]
    K. Grill-Spector, T. Kushnir, T. Hendler, S. Edelman, Y. Itzchak, & R. Malach. A sequence of object processing stages revealed by fMRI in the human occipital lobe. Human Brain Mapping, 6, 316--328, 1998.
    [5]
    A. Hashmi and M. Lipasti. Cortical columns: Building blocks for intelligent systems. In Proceedings of the Symposium Series on Computational Intelligence, pages 21--28, 2009.
    [6]
    A. Hashmi, H. Berry, O. Temam, and M. Lipasti. December (2009). Leveraging progress in neurobiology for computing systems. In 1st Workshop on New Directions in Computer Architecture (NDCA-1). New-York, New-York, USA.
    [7]
    H. Jang, A. Park, and K. Jung. Neural Network Implementation Using CUDA and OpenMP. Proceedings of the 2008 Digital Image Computing: Techniques and Applications-Volume 00, pages 155{161, 2008.
    [8]
    C. Johansson and A. Lansner. Towards cortex sized artificial nervous systems. Lecture Notes in Computer Science: Knowledge-Based Intelligent Information and Engineering Systems, 3213:959--966, 2004.
    [9]
    E. Kandel, J. Schwartz, and T. Jessell. Principles of Neural Science. McGraw-Hill, 4 edition, 2000.
    [10]
    G. Kreiman, C. Koch, and I. Fried. Category-specific visual responses of single neurons in the human medial temporal lobe. Nature Neuroscience, 3:946--953, 2000.
    [11]
    V. Mountcastle. An organizing principle for cerebral function: The unit model and the distributed system. In G. Edelman and V. Mountcastle, editors, The Mindful Brain. MIT Press, Cambridge, Mass., 1978.
    [12]
    V. Mountcastle. The columnar organization of the neocortex. Brain, 120:701--722, 1997.
    [13]
    K. L. Rice, T. M. Taha, C. N. Vutsinas: Scaling analysis of a neocortex inspired cognitive model on the Cray XD1. The Journal of Supercomputing 47(1): 21--43, 2009.
    [14]
    G. Roth and U. Dicke. Evolution of the brain and intelligence. Trends in Cognitive Sciences, 9, 250--257, 2005.
    [15]
    S. Ryoo, C. Rodrigues, S. Babhsorkhi, S. Stone, D. Kirk, and W. Hwu. Optimization principles and application performance evaluation of a multithreaded gpu using cuda. In Proceesings Symposium on principle and practices of parallel programming, SIGPLAN, pages 73--82, 2008.
    [16]
    L. G. Valiant. A Bridging Model for Parallel Computation. Communications of the ACM, 33(8):103{111, 1990.

    Cited By

    View all
    • (2013)CPU-GPU System Designs for High Performance Cloud ComputingHigh Performance Cloud Auditing and Applications10.1007/978-1-4614-3296-8_11(283-299)Online publication date: 1-Aug-2013
    • (2011)Automatic abstraction and fault tolerance in cortical microachitecturesACM SIGARCH Computer Architecture News10.1145/2024723.200006639:3(1-10)Online publication date: 4-Jun-2011
    • (2011)Automatic abstraction and fault tolerance in cortical microachitecturesProceedings of the 38th annual international symposium on Computer architecture10.1145/2000064.2000066(1-10)Online publication date: 4-Jun-2011
    • Show More Cited By

    Recommendations

    Reviews

    Dorothy Bollman

    Graphics processing units (GPUs) have traditionally been used to accelerate computations used in the generation of interactive three-dimensional (3D) graphics. Recent improvements in GPUs have made it possible to develop general-purpose software on GPUs, giving rise to general-purpose computing on GPUs (GPGPU). The compute unified device architecture (CUDA) is the architecture developed by NVIDIA for software development on NVIDIA GPUs. Nere and Lipasti claim that a GPGPU is a natural platform for implementing an intelligent system design based on the mammalian neocortex, introduced by Hashmi et al. [1,2]. Using CUDA, they attain a 273-times speedup over a C++ serial implementation. Online Computing Reviews Service

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Information & Contributors

    Information

    Published In

    GPGPU-3: Proceedings of the 3rd Workshop on General-Purpose Computation on Graphics Processing Units
    March 2010
    124 pages
    ISBN:9781605589350
    DOI:10.1145/1735688
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 14 March 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. CUDA
    2. GPGPU
    3. cortical architecture
    4. hypercolumn
    5. minicolumn

    Qualifiers

    • Research-article

    Conference

    GPGPU-3

    Acceptance Rates

    Overall Acceptance Rate 57 of 129 submissions, 44%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)6
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 05 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2013)CPU-GPU System Designs for High Performance Cloud ComputingHigh Performance Cloud Auditing and Applications10.1007/978-1-4614-3296-8_11(283-299)Online publication date: 1-Aug-2013
    • (2011)Automatic abstraction and fault tolerance in cortical microachitecturesACM SIGARCH Computer Architecture News10.1145/2024723.200006639:3(1-10)Online publication date: 4-Jun-2011
    • (2011)Automatic abstraction and fault tolerance in cortical microachitecturesProceedings of the 38th annual international symposium on Computer architecture10.1145/2000064.2000066(1-10)Online publication date: 4-Jun-2011
    • (2011)A case for neuromorphic ISAsACM SIGPLAN Notices10.1145/1961296.195038546:3(145-158)Online publication date: 5-Mar-2011
    • (2011)A case for neuromorphic ISAsACM SIGARCH Computer Architecture News10.1145/1961295.195038539:1(145-158)Online publication date: 5-Mar-2011
    • (2011)A case for neuromorphic ISAsProceedings of the sixteenth international conference on Architectural support for programming languages and operating systems10.1145/1950365.1950385(145-158)Online publication date: 5-Mar-2011
    • (2011)Profiling Heterogeneous Multi-GPU Systems to Accelerate Cortically Inspired Learning AlgorithmsProceedings of the 2011 IEEE International Parallel & Distributed Processing Symposium10.1109/IPDPS.2011.88(906-920)Online publication date: 16-May-2011

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media