wiki:pmake3d

Version 14 (modified by szekeres.adriana, 14 years ago) (diff)

--

Acronimul Proiectului: pmake3d

  • Membrii echipei: Silviu Baranga - SCPD, Adriana Szekeres - SCPD;
  • Descriere proiect: Make3d is a program developed at Stanford. It takes a single 2-D image and generates a 3-D model, completely automatically. This project aims at parallelize make3d code, using CUDA. (More details here: http://make3d.stanford.edu/)

Activitate proiect

  1. Analizarea codului make3d (acesta se afla in folderul make3d_original de pe svn) in vederea paralelizarii:

  1. Incercarea paralelizarii functiei matlab sigmoidLogBarrierSolver cu Jacket ( http://www.accelereyes.com/products).
  1. Paralelizarea functiei C++ segmentImgOpt folosind CUDA. Functia este de fapt implementarea unui algoritm de segmentare a unei imagini ppm.

Algoritmul implementat in C++, precum si paperul aferent se gasesc la adresa: http://people.cs.uchicago.edu/~pff/segment/

  • codul paralelizat (segment.cu) se gaseste in folderul segment de pe svn
  • pentru compilare si rulare se poate folosi Makefile-ul aflat in folderul segment de pe svn, in care se vor inlocui caile spre headerele CUDA, biblioteca CUDPP, si alte headere si biblioteci necesare.
INCDIR = -I. -I/usr/local/cuda/sdk/C/common/inc -I/home/szekeres/Desktop/cudpp_1.1/cudpp/include 
LIBS = -lcudpp
LIBDIR = -L/home/szekeres/Desktop/cudpp_1.1/lib
DBG    = -g
CPP    = g++
CFLAGS = $(DBG) $(INCDIR)
LINK   = -lm 

.cpp.o:
	$(CPP) $(CFLAGS) -c $< -o $@

all: parallel sequential

parallel:
	nvcc segment.cu -o parallel ${INCDIR} ${LIBDIR} ${LIBS}

sequential: segment.cpp segment-image.h segment-graph.h disjoint-set.h
	$(CPP) $(CFLAGS) -o sequential segment.cpp $(LINK)

clean:
	/bin/rm -f parallel  sequential *.o

clean-all: clean
	/bin/rm -f *~ 

run_parallel:
	./parallel 0.8 500 20 lanscape_vectors.ppm out.ppm

run_sequential:
	./sequential 0.8 500 20 lanscape_vectors.ppm out.ppm

  1. Evaluarea implementarii:

Attachments (1)

Download all attachments as: .zip