98 research outputs found
Utilitários binários redirecionáveis: da linkedição rumo à tradução binária
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da ComputaçãoEssa dissertação propõe uma técnica de geração automática de linkeditores a partir da descrição formal de uma CPU por meio de uma linguagem de descrição de arquiteturas (ADL). A idéia-chave para tal geração é a generalização da noção de modificadores para descrever relocações em um nível mais alto de abstração. A implementação da técnica baseia-se na ADL ArchC e no conhecido pacote GNU Binutils. Para o redirecionamento, reusa-se as bibliotecas independentes de arquitetura e gera-se automaticamente as bibliotecas dependentes da CPU-alvo. A corretude e a robustez da técnica foram comprovadas para três CPUs (MIPS, SPARC e POWERPC) rodando programas do benchmark MiBench. Para a validação experimental, foram comparados com sucesso os arquivos executáveis produzidos pela ferramenta gerada com aqueles produzidos pela ferramenta congênere já disponível no pacote GNU Binutils. Além disso, propõe-se uma técnica de tradução binária baseada em redirecionamento automático. Mostra-se como utilitários binários (desenvolvidos nesta e em outras dissertações) podem ser encadeados para dar origem a um tradutor binário estático. Resultados experimentais preliminares indicam a viabilidade da técnica
Customising compilers for customisable processors
The automatic generation of instruction set extensions to provide application-specific acceleration
for embedded processors has been a productive area of research in recent years. There
have been incremental improvements in the quality of the algorithms that discover and select
which instructions to add to a processor. The use of automatic algorithms, however, result in
instructions which are radically different from those found in conventional, human-designed,
RISC or CISC ISAs. This has resulted in a gap between the hardware’s capabilities and the
compiler’s ability to exploit them.
This thesis proposes and investigates the use of a high-level compiler pass that uses graph-subgraph
isomorphism checking to exploit these complex instructions. Operating in a separate
pass permits techniques to be applied that are uniquely suited for mapping complex instructions,
but unsuitable for conventional instruction selection. The existing, mature, compiler
back-end can then handle the remainder of the compilation. With this method, the high-level
pass was able to use 1965 different automatically produced instructions to obtain an initial average
speed-up of 1.11x over 179 benchmarks evaluated on a hardware-verified cycle-accurate
simulator.
This result was improved following an investigation of how the produced instructions were
being used by the compiler. It was established that the models the automatic tools were using to
develop instructions did not take account of how well the compiler could realistically use them.
Adding additional parameters to the search heuristic to account for compiler issues increased
the speed-up from 1.11x to 1.24x. An alternative approach using a re-designed hardware interface
was also investigated and this achieved a speed-up of 1.26x while reducing hardware and
compiler complexity.
A complementary, high-level, method of exploiting dual memory banks was created to increase
memory bandwidth to accommodate the increased data-processing bandwidth provided
by extension instructions. Finally, the compiler was considered for use in a non-conventional
role where rather than generating code it is used to apply source-level transformations prior to
the generation of extension instructions and thus affect the shape of the instructions that are
generated
Geração automática de ferramentas de inspeção de código para processadores especificados em ADL
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação.Um sistema embarcado pode ter todos os seus componentes eletrônicos implementados em um único circuito integrado, dando origem ao assim chamado System-on-a-Chip (SoC). Um SoC é composto de uma ou mais CPUs e por componentes não programáveis, tais como memória(s), barramento(s) e periférico(s). A CPU escolhida pode ser um processador dedicado, denominado Application-Specific Instruction-Set Processor (ASIP). O projeto de SoCs requer ferramentas para a inspeção de código, a fim de se explorar a corretude do software embarcado a ser executado em cada CPU. Isto pode ser feito através da geração automática de ferramentas a partir de um modelo formal de CPU, cujas características podem ser descritas através do uso de Linguagens de Descrição de Arquiteturas (Architecture Description Language - ADLs). Como o redirecionamento manual das ferramentas para cada CPU explorada seria inviável devido à pressão do time-to-market, o redirecionamento automático é mandatório. Esta dissertação contribui com a expansão do módulo de geração de ferramentas de manipulação de código binário associado à ADL ArchC, através da geração automática de desmontadores e depuradores de código. As ferramentas de desmontagem e depuração de código foram validadas por meio de comparação com ferramentas nativas congêneres para modelos de arquiteturas RISC e CISC (i8051, MIPS, SPARC e PowerPC). Para fins de experimentação, foram usados os benchmarks MiBench e Dalton, evidenciando a corretude e a robustez das ferramentas. Além disso, mostra-se a integração do gerador de desmontadores no âmbito de um tradutor binário, proposto como resultado de trabalho cooperativo (também reportado em outras duas dissertações correlatas)
Um analisador de restrições de tempo real para compiladores redirecionáveis automaticamente
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação
Understanding retargeting compilation techniques for network processors
Mémoire numérisé par la Direction des bibliothèques de l'Université de Montréal
Recommended from our members
Learning dexterous robotic grasping by watching humans in action
Dexterous robotic hands are appealing for their agility and human-like morphology, yet their high degree of freedom makes learning to manipulate challenging. Current robot learning systems predominantly rely on strong human supervision in the form of teleoperation or kinesthetic demonstrations. Acquiring such supervised instructions is often laborious, costly, and confined in terms of the range and diversity of the demonstrations. In contrast, "in-the wild" human videos involving object interactions are abundantly available on the internet, capturing a broader spectrum of human interactions in natural settings. In this thesis, I study how to upgrade current dexterous robotic grasping systems to utilize freely available human data to learn powerful manipulation priors. I present my research on how in-the-wild human data can be used to train sample-efficient and high-performing dexterous manipulation policies. I demonstrate all my results with a 30-DoF five-fingered robotic hand in simulation on a wide range of objects, and show that our policies guided by human priors are significantly more effective, generalize better to novel objects, and yield improved sample efficiency. I study this problem along two axes: Object-centric functional affordance First I study how we can use visual object affordances learnt from human-object interactions to accelerate robotic grasping. I propose an approach to embed an object-centric visual affordance model within a deep reinforcement learning loop to learn grasping policies that favor the same object regions favored by people. Unlike traditional approaches that learn from human demonstration trajectories (e.g., hand joint sequences captured with a glove), the proposed prior is object-centric and image-based, allowing the agent to anticipate useful affordance regions for objects unseen during policy learning. Our work offers a step towards manipulation agents that learn by watching how people use objects, without requiring state and action information about the human body. Human hand poses from Internet videos Next, I study how we can leverage human hand poses extracted from in-the-wild YouTube videos to guide dexterous robotic grasping. The close morphological similarity between a human hand and a dexterous robotic hand can be harnessed to learn more robust manipulation policies, while relying on easily available Internet data. Toward this end, we propose DexVIP, an approach to learn dexterous robotic grasping from human-object interactions present in in-the-wild YouTube videos. We do this by curating grasp images from human-object interaction videos and imposing a prior over the agent's hand pose when learning to grasp with deep reinforcement learning. A key advantage of our method is that the learned policy is able to leverage free-form in-the-wild visual data. As a result, it can easily scale to new objects, and it sidesteps the standard practice of collecting human demonstrations in a lab---a much more expensive and indirect way to capture human expertise. In both cases, my results highlight the importance of learning visual models of objects and actions from human-object interactions in natural settings and their utility in training robust and generalizable dexterous robot grasping policies.Computer Science
- …