419 research outputs found

    Extracting Data-Level Parallelism in High-Level Synthesis for Reconfigurable Architectures

    Get PDF
    High-Level Synthesis (HLS) tools are a set of algorithms that allow programmers to obtain implementable Hardware Description Language (HDL) code from specifications written high-level, sequential languages such as C, C++, or Java. HLS has allowed programmers to code in their preferred language while still obtaining all the benefits hardware acceleration has to offer without them needing to be intimately familiar with the hardware platform of the accelerator. In this work we summarize and expand upon several of our approaches to improve the automatic memory banking capabilities of HLS tools targeting reconfigurable architectures, namely Field-Programmable Gate Arrays or FPGA\u27s. We explored several approaches to automatically find the optimal partition factor and a usable banking scheme for stencil kernels including a tessellation based approach using multiple families of hyperplanes to do the partitioning which was able to find a better banking factor than current state-of-the-art methods and a graph theory methodology that allowed us to mathematically prove the optimality of our banking solutions. For non-stencil kernels we relaxed some of the conditions in our graph-based model to propose a best-effort solution to arbitrarily reduce memory access conflicts (simultaneous accesses to the same memory bank). We also proposed a non-linear transformation using prime factorization to convert a small subset of non-stencil kernels into stencil memory accesses, allowing us to use all previous work in memory partition to them. Our approaches were able to obtain better results than commercial tools and state-of-the-art algorithms in terms of reduced resource utilization and increased frequency of operation. We were also able to obtain better partition factors for some stencil kernels and usable baking schemes for non-stencil kernels with better performance than any applicable existing algorithm

    Exploring mesh shaders

    Get PDF
    Dissertação de mestrado integrado em Engenharia InformáticaEvery artist is somewhat limited by the mean by which they expose their art. This is also true for the field of Computer Graphics, where there are many limiting factors that developers must go out of their way to avoid. The most limiting of these factors is the computing performance, which directly limits the complexity of what an artist can fabricate in a piece of hardware. As such, Computer Graphics’ investigators keep an eye out for the improvements made in the hardware department that enables them to introduce more complexity to the scenes they create on their computers. Three years ago, a novel approach to compute the geometric complexity of three-dimensional (3D) scenes was introduced: Mesh shaders. Mesh shaders pose as an alternative to the traditional geometric processing method and can be a more performant approach to handle specific geometric workloads. Notwithstanding, little attention has been given to these shaders. Thus, this thesis presents an investigative effort to evaluate the value proposition of these shaders across different scenarios. To do so, this thesis puts Mesh shaders against traditional implementations and measures their differences both in method and performance. By the end of this thesis, the reader should have a concise understanding of Mesh shaders, but not a clear cut answer regarding their use. These shaders can provide performance benefits in specific scenarios over the traditional approach, but not without considerable care by the developer. In fact, the flexibility provided by the Mesh shaders’ approach gives the developer a significant responsibility regarding their final performance. When incorrectly set up, these shaders can result in mediocre performances compared to those of the traditional pipeline. Ultimately, these shaders should be used by experienced users intending to avoid specific bottlenecks of the traditional approach. For others, the traditional pipeline offers a more streamlined approach, thoroughly optimised by default.Todos os artistas são de alguma forma limitados pelo meio de exposição da sua arte. Isto não deixa de ser verdade com Computação Gráfica, onde existem vários fatores limitadores que os programadores têm de con tornar. Entre estes, o mais impeditivo é a velocidade de computação, que limita diretamente a complexidade da arte que pode ser produzida por uma peça de hardware. Deste modo, os investigadores da área de Computação Gráfica mantêm-se atentos às inovações que ocorrem no campo do hardware e lhes permitem introduzir mais complexidade nos cenários que criam. Há três anos, um método inédito para tratar a complexidade geométrica de cenas tridimensionais foi intro duzido: Mesh shaders. Os Mesh shaders apresentam-se como uma alternativa ao método tradicional de pro cessamento de geometria, que pode obter melhor desempenho em certos cenários geométricos. No entanto, não tem sido dada muita atenção a esta alternativa. Assim, esta tese apresenta uma investigação destes shaders com o intuito de avaliar a sua proposta de valor em diferentes situações. Para o fazer, esta tese irá colocar estes shaders frente a frente com os shaders tradicionais e medirá as diferenças entre ambos, tanto em desempenho como em método. No final, o leitor deverá possuir uma ideia coesa sobre os Mesh shaders, mas não terá uma perceção binária quanto ao uso dos mesmos. Isto porque estes shaders podem oferecer um benefício em termos de desempenho em certas situações, mas requerem cuidados adicionais por parte do programador. Da flexibilidade oferecida pelos Mesh shaders advém uma responsabilidade significativa para o programador no que toca ao desempenho final dos mesmos. Quando programados incorretamente, estes shaders resultarão num desempenho medíocre comparado ao desempenho oferecido pelo método tradicional. Fundamentalmente, estes shaders deverão ser utilizados por utilizadores mais experientes que pretendem evitar bottlenecks específicos do método tradicional. Para todos os outros, o pipeline tradicional oferece um método mais simples que possui por predefinição otimizações acentuadas

    “Wearable Metal Origami”? The Design and Manufacture of Metallised Folding Textiles

    Get PDF
    “Wearable Metal Origami” is a research leading to a collection of wearable objects, made from metallised folding textile. The research engages with current concerns in industrialised society, where new materials and innovative products are in demand. The material I have developed is influenced by historical and contemporary jewellery and clothing as well as by deployable structures; folding patterns are based on folding patterns in nature and on the knowledge of origami mathematicians; production processes include traditional printing and jewellery techniques. Bridging all these disciplines, the outcome is a novel material that could be used in various design fields but is particularly relevant to jewellery for its striking visual character, its flexible movement which easily adjusts to the human body, and the possibility to use precious metals. I based my research in the department of Goldsmithing, Silversmithing, Metalwork and Jewellery because this department had helped me develop the initial material during my MA course, so I knew it could provide me with the necessary equipment and support in designing wearable pieces. My project was finally conducted within a departmental team research project (Deployable Adaptive Structures) in which my colleagues investigated the broader application of metallised or otherwise tessellated folded textile in such fields as interior architecture, sunscreens and water sculptures, and ways of actuating the material either virtually or by mechanical means. ““Wearable Metal Origami”?” is based on MA project work, where I had used one folding pattern and found one production method. I strongly believed that this material would be ideal for the creation of jewellery and larger wearable objects if I could expand the range of flexibly moving patterns, improve the production process of the material and develop appropriate design processes. My research set out to fulfil these requirements and prove the value of the material in the context of metalwork and jewellery and the applied arts. To expand the range of folding patterns I collected and analysed existing tessellating origami patterns. With this knowledge I created my own variations. All patterns were evaluated on their suitability for “Wearable Metal Origami” and a basic classification was made, based on their folding properties. A small selection of patterns was then tested to get an understanding of the influence of plate thickness, hinge width and hinge flexibility by making card-textile and plywood-textile models. I developed and tested new processes for the production of the metallised folding textile. These included preparatory processes (before electroforming), electroforming and various ways of treating the material after electroforming. Each process was evaluated on its practicality. To develop appropriate design processes for wearable objects of Metallised Folding Textile I ran four case studies, each with its own design brief. I set the briefs in such a way that they addressed different parts of the body and different qualities of the material, such as changing shape and flexibility. For each application an origami pattern was chosen and adjusted through a process of trial and error until it had the correct proportions and movement

    Automatic sizing functions for unstructured surface mesh generation

    Get PDF
    Accurate sizing functions are crucial for efficient generation of high-quality meshes, but to define the sizing function is often the bottleneck in complicated mesh generation tasks because of the tedious user interaction involved. We present a novel algorithm to automatically create high-quality sizing functions for surface mesh generation. First, the tessellation of a Computer Aided Design (CAD) model is taken as the background mesh, in which an initial sizing function is defined by considering geometrical factors and user-specified parameters. Then, a convex nonlinear programming problem is formulated and solved efficiently to obtain a smoothed sizing function that corresponds to a mesh satisfying necessary gradient constraint conditions and containing a significantly reduced element number. Finally, this sizing function is applied in an advancing front mesher. With the aid of a walk-through algorithm, an efficient sizing-value query scheme is developed. Meshing experiments of some very complicated geometry models are presented to demonstrate that the proposed sizing-function approach enables accurate and fully automatic surface mesh generation
    corecore