126,533 research outputs found

    PyCARL: A PyNN Interface for Hardware-Software Co-Simulation of Spiking Neural Network

    Full text link
    We present PyCARL, a PyNN-based common Python programming interface for hardware-software co-simulation of spiking neural network (SNN). Through PyCARL, we make the following two key contributions. First, we provide an interface of PyNN to CARLsim, a computationally-efficient, GPU-accelerated and biophysically-detailed SNN simulator. PyCARL facilitates joint development of machine learning models and code sharing between CARLsim and PyNN users, promoting an integrated and larger neuromorphic community. Second, we integrate cycle-accurate models of state-of-the-art neuromorphic hardware such as TrueNorth, Loihi, and DynapSE in PyCARL, to accurately model hardware latencies that delay spikes between communicating neurons and degrade performance. PyCARL allows users to analyze and optimize the performance difference between software-only simulation and hardware-software co-simulation of their machine learning models. We show that system designers can also use PyCARL to perform design-space exploration early in the product development stage, facilitating faster time-to-deployment of neuromorphic products. We evaluate the memory usage and simulation time of PyCARL using functionality tests, synthetic SNNs, and realistic applications. Our results demonstrate that for large SNNs, PyCARL does not lead to any significant overhead compared to CARLsim. We also use PyCARL to analyze these SNNs for a state-of-the-art neuromorphic hardware and demonstrate a significant performance deviation from software-only simulations. PyCARL allows to evaluate and minimize such differences early during model development.Comment: 10 pages, 25 figures. Accepted for publication at International Joint Conference on Neural Networks (IJCNN) 202

    Two-stage wireless network emulation

    Get PDF
    Testing and deploying mobile wireless networks and applications are very challenging tasks, due to the network size and administration as well as node mobility management. Well known simulation tools provide a more flexible environment but they do not run in real time and they rely on models of the developed system rather than on the system itself. Emulation is a hybrid approach allowing real application and traffic to be run over a simulated network, at the expense of accuracy when the number of nodes is too important. In this paper, emulation is split in two stages : first, the simulation of network conditions is precomputed so that it does not undergo real-time constraints that decrease its accuracy ; second, real applications and traffic are run on an emulation platform where the precomputed events are scheduled in soft real-time. This allows the use of accurate models for node mobility, radio signal propagation and communication stacks. An example shows that a simple situation can be simply tested with real applications and traffic while relying on accurate models. The consistency between the simulation results and the emulated conditions is also illustrated
    • …
    corecore