GithubHelp home page GithubHelp logo

jesusjimsa / arquitecturas-y-computacion-de-altas-prestaciones-ugr Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 6.31 MB

Prácticas de la asignatura de Arquitecturas y Computación de Altas Prestaciones en la UGR

C 10.69% Shell 1.64% Makefile 17.88% C++ 42.63% Cuda 27.16%
acap parallel-computing c cuda ugr cimg

arquitecturas-y-computacion-de-altas-prestaciones-ugr's Introduction

Arquitecturas y Computación de Altas Prestaciones

Prácticas para la asignatura de Arquitecturas y Computación de Altas Prestaciones en la UGR.

arquitecturas-y-computacion-de-altas-prestaciones-ugr's People

Contributors

jesusjimsa avatar

Watchers

 avatar  avatar  avatar

arquitecturas-y-computacion-de-altas-prestaciones-ugr's Issues

CUDA solo acepta tipos de datos aritméticos

En CUDA solo se pueden usar tipos de datos aritméticos:
edge.cu(180): error: expression must have arithmetic or unscoped enum type
Hay que convertir los tipos de datos CImg a array punteros de enteros.

Suma errónea en CUDA

El programa de suma de vectores en la GPU no suma correctamente los dos vectores.

Error en la declaración de la imagen

Al crear la imagen en las funciones kernel de CUDA, es mejor tenerlo ya declarado en la función que lo llama, así las hebras comparten la misma imagen en lugar de crear todas una imagen completa.
A parte, crear punteros a punteros (**) da problemas en CUDA (probablemente también en C++), así que habrá que crear punteros de una sola dimensión y acceder a los datos mediante [row_index * width + column_index].

Kernel Gaussiano

Escribir función que genere el kernel Gaussiano adecuado para realizar la tarea de la función de Sobel.

Segmentation fault

Hay un segmentation fault al dividir la imagen paul.jpg en 16 partes. El problema está en la siguiente zona de código:

// +- 2 for each pixel and calculate the weighting
for (dx = -2; dx <= 2; dx++){
	for (dy = -2; dy <= 2; dy++){
		pixelweight = weighting[dx + 2][dy + 2];

		// Get pixel
		pixel = original(x + dx, y + dy, 0, 0);

		// Apply weighting
		blurpixel = blurpixel + pixel * pixelweight;
	}
}

Función CImg<int> gaussianKernel(const CImg<int> original), línea 67.

Filtro de Sobel

Filtro que generará la imagen con únicamente los bordes que se desea como resultado del programa.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.