Powered by OpenAIRE graph

Codeplay Software

Codeplay Software Limited
Country: United Kingdom

Codeplay Software

Funder
Top 100 values are shown in the filters
Results number
arrow_drop_down
20 Projects, page 1 of 4
  • Funder: UK Research and Innovation Project Code: EP/G051100/2
    Funder Contribution: 64,241 GBP

    Heterogeneous multi-core processors are key to complex computational problems such as real-time medical imaging, financial analysis and high-definition video, because of the increased processing power they make available. The reliability and probity of such applications is of critical importance, yet heterogeneous multi-core processors are notoriously difficult to program correctly. There is a need for analysis and verification techniques to help detect and fix errors early in the design of multi-core software. The development of such techniques is the aim of the proposed Fellowship research.The research will involve extending the capabilities of existing theoretical computer science techniques based on typechecking and model checking. Typechecking is a commonly used lightweight method for eliminating errors in computer programs: a basic typechecker will reject an invalid expression such as Hello + 1. More complex typechecking, based on session types , can allow a protocol between two parties in a system to be automatically checked. One part of the Fellowship research will involve extending the notion of session types to be applicable to heterogeneous multi-core processors. New typechecking methods will also be developed to help programmers deal with complex issues arising from the management of separate memory spaces in multi-core systems.Model checking is a technique for verifying hardware and software systems which attempts to find system bugs by checking an abstract model of the system. Model checking is less widely used than typechecking, but model checking techniques have recently been incorporated in software products from major vendors such as Microsoft. A major part of the fellowship research will involve developing advanced model checking techniques to help find errors associated with the dynamic behaviour of software for heterogeneous multi-core processors.Part of the research will involve developing a set of open-source tools based on the novel formal analysis techniques. Experience has shown that developers interested in multi-core programming are reluctant to adopt new languages and formalisms, and will only consider new techniques if they are easy and intuitive to use, and can be integrated into an existing development tool-chain. To increase the potential for eventual adoption by industry, the new techniques developed during the Fellowship research will involve regular input and advice from Codeplay Software Ltd., a UK based company specialising in development tools for multi-core processors.

    more_vert
  • Funder: UK Research and Innovation Project Code: EP/G051100/1
    Funder Contribution: 235,502 GBP

    Heterogeneous multi-core processors are key to complex computational problems such as real-time medical imaging, financial analysis and high-definition video, because of the increased processing power they make available. The reliability and probity of such applications is of critical importance, yet heterogeneous multi-core processors are notoriously difficult to program correctly. There is a need for analysis and verification techniques to help detect and fix errors early in the design of multi-core software. The development of such techniques is the aim of the proposed Fellowship research.The research will involve extending the capabilities of existing theoretical computer science techniques based on typechecking and model checking. Typechecking is a commonly used lightweight method for eliminating errors in computer programs: a basic typechecker will reject an invalid expression such as Hello + 1. More complex typechecking, based on session types , can allow a protocol between two parties in a system to be automatically checked. One part of the Fellowship research will involve extending the notion of session types to be applicable to heterogeneous multi-core processors. New typechecking methods will also be developed to help programmers deal with complex issues arising from the management of separate memory spaces in multi-core systems.Model checking is a technique for verifying hardware and software systems which attempts to find system bugs by checking an abstract model of the system. Model checking is less widely used than typechecking, but model checking techniques have recently been incorporated in software products from major vendors such as Microsoft. A major part of the fellowship research will involve developing advanced model checking techniques to help find errors associated with the dynamic behaviour of software for heterogeneous multi-core processors.Part of the research will involve developing a set of open-source tools based on the novel formal analysis techniques. Experience has shown that developers interested in multi-core programming are reluctant to adopt new languages and formalisms, and will only consider new techniques if they are easy and intuitive to use, and can be integrated into an existing development tool-chain. To increase the potential for eventual adoption by industry, the new techniques developed during the Fellowship research will involve regular input and advice from Codeplay Software Ltd., a UK based company specialising in development tools for multi-core processors.

    more_vert
  • Funder: European Commission Project Code: 688759
    Overall Budget: 3,954,850 EURFunder Contribution: 2,975,790 EUR

    Low-power GPUs have become ubiquitous, they can be found in domains ranging from wearable and mobile computing, to automotive systems. With this ubiquity has come a wider range of applications exploiting low-power GPUs, placing ever increasing demands on the expected performance and power efficiency of the devices. Future low-power system-on-chips will have to provide higher performance and be able to support more complex applications, without using any additional power. The strict power limitations means that these demands cannot be met through hardware improvements alone, however, but the software must better exploit the available resources. Unfortunately, programmers are hindered when creating low-power GPU software by the quality of current performance analysis tools. In low-power GPU contexts there is only a minimal amount of performance information, and essentially no power information, available to the programmer. As software becomes more complex it becomes increasingly unmanageable for programmers to optimise the software for low-power devices. This project proposes to aid the programmer in creating software for low-power GPUs by building on the results of the first LPGPU project to provide a complete performance analysis process for the programmer. This project will address all aspects of performance analysis, from hardware power and performance counters, to a toolchain that processes and visualises information from these counters, to applications that will be used as use-cases to drive the entire design. To access the new hardware performance counters a standardisable API will be produced to interface to a prototype hardware implementation. This will let the analysis and visualisation tool connect to any GPU driver that implements the API. The consortium's expertise will be used not only to drive the initial design of the API and analyses, but also multiple application use-cases will be developed to demonstrate the efficacy of the toolchain.

    more_vert
  • Funder: European Commission Project Code: 288653
    more_vert
  • Funder: UK Research and Innovation Project Code: EP/P010946/1
    Funder Contribution: 99,816 GBP

    Computers have revolutionised our lives, from mobile phones that exceed the computational power of early supercomputers by orders of magnitudes, to today's supercomputers that help discovery of new drugs to cure serious diseases and to design more energy efficient vehicles and buildings. All this progress has been made possible by continuously increasing computational power. However, there are two threats to this trend. First, harnessing this resource has become increasingly difficult. Imagine a car that provides direct control of fuel mix, 20 gears and adjustable valve timing. This car will provide excellent performance, but requires a driver with an engineering degree to make the optimal adjustments. Second, similar to improved car fuel efficiency, there is increasing demand for improved computational energy efficiency. We cannot attach larger batteries to a mobile phone, or build a nuclear power station next to each data centre. While there are ongoing discoveries that improve efficiency, these solutions intensify the first problem: they increase the difficulty. For a solution to be truly practical it needs to be usable by non-experts! This project aims to address this in case of Approximate Computing -- a recently proposed technology aiming to increase energy efficiency by orders of magnitude. The basic insight of approximate computing is that, traditionally, computers always provide a precise and exact solution instead of a good enough solution. This obsession with precision is very energy wasteful. Imagine that you quickly look into your wallet to check how much cash you carry, you wonder if it is a 1-2 GBP, about 20 GBP or more than 50 GBP. One usually does not really care if it is 17.42 GBP or 17.43 GBP. In such a situation, it would be a waste of time to count the cash precisely. Research has shown that a vast body of problems can take advantage of this kind of imprecision. This research project aims to make approximate computing technology available to non-expert programmers. In particular, the main obstacle for widespread adaptation is that current state of the art in approximate computing burdens the application programmer with providing a suitable approximate alternative. This is comparable to burdening the driver of a car with sophisticated mechanical tasks such as changing a timing belt. The premise of this project is that it is possible to derive an approximation automatically and that this process should be integrated with the tool that every programmer already uses -- the compiler.

    more_vert
  • chevron_left
  • 1
  • 2
  • 3
  • 4
  • chevron_right

Do the share buttons not appear? Please make sure, any blocking addon is disabled, and then reload the page.

Content report
No reports available
Funder report
No option selected
arrow_drop_down

Do you wish to download a CSV file? Note that this process may take a while.

There was an error in csv downloading. Please try again later.