Giter VIP home page Giter VIP logo

hy3603_pds_assignment_3's People

Contributors

johnfli avatar laserscout avatar

Watchers

 avatar  avatar

hy3603_pds_assignment_3's Issues

kernel to init which_q_to_which_process matrix

We discussed that we will have a matrix (here called which_q_to_which_process ) that will define on what data each process will run the nearest_neighbor kernel.

A kernel is needed that will create this matrix in parallel.

note: There is a possibility that this will not be needed (at least at the first run). The easy alternative is to have every process check all points on its own and chose the ones it wants to run the nearest_neighbor on.

'S' memory management

According to the way we will split the work among the threads, maybe it would be good to have the S vector properly placed in to memory so that each task will have access to it immediately.

This might not be necessary, leave it for the third, optimization stage of our development.

Parallelization of newSInit on the GPU

We could try to parallelize on the GPU the part of code, currently running on the CPU, that sorts C appropriately in order to yeild further speed up.

build nearest_neighbor kernel

Self explanatory. This should / could be a simple function that has one input (the q point) and one output (the ?index? of the nearest neighbor of its S collection).

Build check_correctness kernet

After a "round" all processes will have returned their results but there is a possibility that it is not the actual nearest neighbor.

A check needs to be implemented that will:

  • Move forward all points that are the actual nearest neighbor
  • Inform in some way (which_q_to_which_process ?) at what box there is a need to re-check the nearest neighbor of all other qs.

note: is there a way to have this be done automatically by the nearest_neighbor kernel?

hash3D doesn't work

Έλα, έκανα αλλαγές που μπορείς να τις δεις στο τελευταίο commit στο brach σου ώστε να κάνει compile.

Επίσης πρόσθεσα printfs στην main ώστε να ελέγξουμε οπτικά τα αποτελέσματα του αλγορίθμου σου.

Δεν λειτουργεί... κάνε δοκιμές σε παρακαλώ μέχρι να βγάλει σωστά αποτελέσματα

Build init kernel

Make a kernel that will create the random Q and C points
Also build a CPU version just in case...?

  • Δημιουργεί τα δύο σύνολα m και n σημείων, Q και C, που ακολουθούν ομοιόμορφη κατανομή στον [0, 1).

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.