Difference between revisions of "GPU610/NullPointerException"

From CDOT Wiki
Jump to: navigation, search
(Progress)
(Saad Mohammad:)
Line 55: Line 55:
 
==[[User:Saad_Mohammad| Saad Mohammad]]:==  
 
==[[User:Saad_Mohammad| Saad Mohammad]]:==  
  
Encrypts and decrypts images.
+
===== PROJECT =====
ORIGINAL PROJECT: [https://github.com/markwatson/Image-Encrypt Image-Encrypt Github]
+
 
 +
::Encrypts and decrypts images.
 +
::ORIGINAL PROJECT: [https://github.com/markwatson/Image-Encrypt Image-Encrypt Github]
 +
 
 +
===== PROFILING RESOURCE =====
 +
 
 +
::Profiled the application using:
 +
:::SYSTEM:
 +
:::::Matrix
 +
 
 +
:::IMAGE:
 +
:::::JPEG Format
 +
:::::324KB
 +
:::::1598 x 982
 +
 
 +
===== PROFILING RESULTS =====
 +
Encryption:
 +
 
 +
<code>
 +
Each sample counts as 0.01 seconds.
 +
  %  cumulative  self              self    total         
 +
time  seconds  seconds    calls  us/call  us/call  name   
 +
53.85      0.14    0.14  5979744    0.02    0.02  aesEncrypt::ffmul(unsigned char, unsigned char)
 +
30.77      0.22    0.08  207630    0.39    0.39  aesEncrypt::subBytes(char*)
 +
11.54      0.25    0.03  186867    0.16    0.91  aesEncrypt::mixColumns(char*)
 +
  3.85      0.26    0.01    20763    0.48    12.52  aesEncrypt::encryptBlock(char*)
 +
  0.00      0.26    0.00  207630    0.00    0.00  aesEncrypt::shiftRows(char*)
 +
  0.00      0.26    0.00    20764    0.00    0.00  accessJpeg::hasMore()
 +
  0.00      0.26    0.00    20763    0.00    0.00  accessJpeg::accessBlock()
 +
  0.00      0.26    0.00      40    0.00    0.00  aesEncrypt::sboxify(unsigned char)
 +
  0.00      0.26    0.00      10    0.00    0.00  aesEncrypt::roundify(unsigned char)
 +
  0.00      0.26    0.00        1    0.00    0.00  _GLOBAL__sub_I__ZN10accessJpegC2Ev
 +
  0.00      0.26    0.00        1    0.00    0.00  _GLOBAL__sub_I__ZN11encryptJpeg7processEc
 +
  0.00      0.26    0.00        1    0.00    0.00  _GLOBAL__sub_I_main
 +
  0.00      0.26    0.00        1    0.00    0.00  accessJpeg::readInFile(char*)
 +
  0.00      0.26    0.00        1    0.00    0.00  accessJpeg::jumpToStart()
 +
  0.00      0.26    0.00        1    0.00    0.00  accessJpeg::writeOutFile(char*)
 +
  0.00      0.26    0.00        1    0.00    0.00  accessJpeg::~accessJpeg()
 +
  0.00      0.26    0.00        1    0.00    0.00  aesEncrypt::setTextKey(std::string)
 +
  0.00      0.26    0.00        1    0.00    0.00  aesEncrypt::expandKey()
 +
  0.00      0.26    0.00        1    0.00    0.00  aesEncrypt::~aesEncrypt()
 +
</code>
 +
 
 +
Decryption:
 +
 
 +
<code>
 +
Each sample counts as 0.01 seconds.
 +
  %  cumulative  self              self    total         
 +
time  seconds  seconds    calls  us/call  us/call  name   
 +
58.97      0.23    0.23 11959488    0.02    0.02  aesEncrypt::ffmul(unsigned char, unsigned char)
 +
25.64      0.33    0.10  207630    0.48    0.48  aesEncrypt::invSubBytes(char*)
 +
  7.69      0.36    0.03  186867    0.16    1.39  aesEncrypt::invMixColumns(char*)
 +
  5.13      0.38    0.02    20763    0.96    18.78  aesEncrypt::decryptBlock(char*)
 +
  2.56      0.39    0.01  207630    0.05    0.05  aesEncrypt::invShiftRows(char*)
 +
  0.00      0.39    0.00    20764    0.00    0.00  accessJpeg::hasMore()
 +
  0.00      0.39    0.00    20763    0.00    0.00  accessJpeg::accessBlock()
 +
  0.00      0.39    0.00      40    0.00    0.00  aesEncrypt::sboxify(unsigned char)
 +
  0.00      0.39    0.00      10    0.00    0.00  aesEncrypt::roundify(unsigned char)
 +
  0.00      0.39    0.00        1    0.00    0.00  _GLOBAL__sub_I__ZN10accessJpegC2Ev
 +
  0.00      0.39    0.00        1    0.00    0.00  _GLOBAL__sub_I__ZN11encryptJpeg7processEc
 +
  0.00      0.39    0.00        1    0.00    0.00  _GLOBAL__sub_I_main
 +
  0.00      0.39    0.00        1    0.00    0.00  accessJpeg::readInFile(char*)
 +
  0.00      0.39    0.00        1    0.00    0.00  accessJpeg::jumpToStart()
 +
  0.00      0.39    0.00        1    0.00    0.00  accessJpeg::writeOutFile(char*)
 +
  0.00      0.39    0.00        1    0.00    0.00  accessJpeg::~accessJpeg()
 +
  0.00      0.39    0.00        1    0.00    0.00  aesEncrypt::setTextKey(std::string)
 +
  0.00      0.39    0.00        1    0.00    0.00  aesEncrypt::expandKey()
 +
  0.00      0.39    0.00        1    0.00    0.00  aesEncrypt::~aesEncrypt()
 +
</code>
  
 
==[[User:Nmayuranathan | Natesh Mayuranathan]]:==
 
==[[User:Nmayuranathan | Natesh Mayuranathan]]:==

Revision as of 22:34, 6 March 2013


GPU610/DPS915 | Student List | Group and Project Index | Student Resources | Glossary

NullPointerException

Team Members

  1. Philip A Aziz
  2. Saad Mohammad
  3. Natesh Mayuranathan

Email All

Progress

Assignment 1

Philip Aziz:

  • Philip Aziz - Calculating Prime Numbers

Only the inner loop would be possible to Parellelize but would still require to validate 1 prime number at a time due to need to validate against previous prime numbers.

while (count < n){

               flag = 1;
               i = 1;
               checkKey = int((sqrt (prime))+1);
               //checks prime numbers for divisible values
               while(primes[i] < checkKey and flag){
                       if ((prime % primes[i])==0){
                               flag = 0;
                       }
                       i++;
               }
               if(flag){
                       primes[count] = prime;
                       count++;
               }
               prime +=2;
       }



Time by Level
n Elapsed Time
10,000 0
100,000 1
1,000,000 8
10,000,000 220
100,000,000 6200


Saad Mohammad:

PROJECT
Encrypts and decrypts images.
ORIGINAL PROJECT: Image-Encrypt Github
PROFILING RESOURCE
Profiled the application using:
SYSTEM:
Matrix
IMAGE:
JPEG Format
324KB
1598 x 982
PROFILING RESULTS

Encryption:

Each sample counts as 0.01 seconds.

 %   cumulative   self              self     total           
time   seconds   seconds    calls  us/call  us/call  name    
53.85      0.14     0.14  5979744     0.02     0.02  aesEncrypt::ffmul(unsigned char, unsigned char)
30.77      0.22     0.08   207630     0.39     0.39  aesEncrypt::subBytes(char*)
11.54      0.25     0.03   186867     0.16     0.91  aesEncrypt::mixColumns(char*)
 3.85      0.26     0.01    20763     0.48    12.52  aesEncrypt::encryptBlock(char*)
 0.00      0.26     0.00   207630     0.00     0.00  aesEncrypt::shiftRows(char*)
 0.00      0.26     0.00    20764     0.00     0.00  accessJpeg::hasMore()
 0.00      0.26     0.00    20763     0.00     0.00  accessJpeg::accessBlock()
 0.00      0.26     0.00       40     0.00     0.00  aesEncrypt::sboxify(unsigned char)
 0.00      0.26     0.00       10     0.00     0.00  aesEncrypt::roundify(unsigned char)
 0.00      0.26     0.00        1     0.00     0.00  _GLOBAL__sub_I__ZN10accessJpegC2Ev
 0.00      0.26     0.00        1     0.00     0.00  _GLOBAL__sub_I__ZN11encryptJpeg7processEc
 0.00      0.26     0.00        1     0.00     0.00  _GLOBAL__sub_I_main
 0.00      0.26     0.00        1     0.00     0.00  accessJpeg::readInFile(char*)
 0.00      0.26     0.00        1     0.00     0.00  accessJpeg::jumpToStart()
 0.00      0.26     0.00        1     0.00     0.00  accessJpeg::writeOutFile(char*)
 0.00      0.26     0.00        1     0.00     0.00  accessJpeg::~accessJpeg()
 0.00      0.26     0.00        1     0.00     0.00  aesEncrypt::setTextKey(std::string)
 0.00      0.26     0.00        1     0.00     0.00  aesEncrypt::expandKey()
 0.00      0.26     0.00        1     0.00     0.00  aesEncrypt::~aesEncrypt()

Decryption:

Each sample counts as 0.01 seconds.

 %   cumulative   self              self     total           
time   seconds   seconds    calls  us/call  us/call  name    
58.97      0.23     0.23 11959488     0.02     0.02  aesEncrypt::ffmul(unsigned char, unsigned char)
25.64      0.33     0.10   207630     0.48     0.48  aesEncrypt::invSubBytes(char*)
 7.69      0.36     0.03   186867     0.16     1.39  aesEncrypt::invMixColumns(char*)
 5.13      0.38     0.02    20763     0.96    18.78  aesEncrypt::decryptBlock(char*)
 2.56      0.39     0.01   207630     0.05     0.05  aesEncrypt::invShiftRows(char*)
 0.00      0.39     0.00    20764     0.00     0.00  accessJpeg::hasMore()
 0.00      0.39     0.00    20763     0.00     0.00  accessJpeg::accessBlock()
 0.00      0.39     0.00       40     0.00     0.00  aesEncrypt::sboxify(unsigned char)
 0.00      0.39     0.00       10     0.00     0.00  aesEncrypt::roundify(unsigned char)
 0.00      0.39     0.00        1     0.00     0.00  _GLOBAL__sub_I__ZN10accessJpegC2Ev
 0.00      0.39     0.00        1     0.00     0.00  _GLOBAL__sub_I__ZN11encryptJpeg7processEc
 0.00      0.39     0.00        1     0.00     0.00  _GLOBAL__sub_I_main
 0.00      0.39     0.00        1     0.00     0.00  accessJpeg::readInFile(char*)
 0.00      0.39     0.00        1     0.00     0.00  accessJpeg::jumpToStart()
 0.00      0.39     0.00        1     0.00     0.00  accessJpeg::writeOutFile(char*)
 0.00      0.39     0.00        1     0.00     0.00  accessJpeg::~accessJpeg()
 0.00      0.39     0.00        1     0.00     0.00  aesEncrypt::setTextKey(std::string)
 0.00      0.39     0.00        1     0.00     0.00  aesEncrypt::expandKey()
 0.00      0.39     0.00        1     0.00     0.00  aesEncrypt::~aesEncrypt()

Natesh Mayuranathan:

Assignment 2

Assignment 3