Commit Graph

43 Commits

Author SHA1 Message Date
Pavel Krajcevski
04cbf615f5 Make sure that our thread api preferences are saved in the cache. 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
78ed5f5e92 On OS X, replace pthread_yield with sched_yield 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
d3f03a1fd3 Move ThreadGroup to new abstracted thread scheme. 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
28af6ec225 Add threaded barrier operation modeled after that of boost. 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
920c947d55 Add pthread module for threading. 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
4d52ea18ad Move some more common code out of boost file into its own module 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
03b4f16b06 Add virtual destructors to fix issues with thread abstraction code. 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
ed63255514 Move worker queue implementation over to new abstracted scheme. 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
8dffb602bf Add framework for threading API abstraction. 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
6b4adcc95b Fix bug where we didn't initialize a variable properly, which led to a crash 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
01c01b96cd For more accurate timing results with the worker queue, make sure that all threads are done processing an image before restarting the compression when testing multiple compressions. 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
54cb951f71 Add command line options to invoke worker queue. 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
c7bb6170f3 Fleshes out the worker queue implementation. 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
62ca4ffee0 Add files for implementing a worker queue threading scheme 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
2c22889533 Broke the coupling between ImageFile and Image. One is strictly for IO, the other can be platform and file format agnostic. 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
c1222d75f9 Reorganize a lot of code. Should probably split image and image file classes to separate IO operations and whatnot. 2012-10-31 17:46:12 -04:00
Pavel Krajcevski
72c44f51d1 Partition compression code into separate functions. 2012-10-31 17:46:12 -04:00
Pavel Krajcevski
9fa011f8d1 Make sure that the compressed image gets created regardless of the number of threads used. 2012-09-18 22:33:47 -04:00
Pavel Krajcevski
78da9499ec Add output for error metric 2012-09-18 19:00:20 -04:00
Pavel Krajcevski
8bea381389 Use the flag to perform 'n' computations and average the total time taken. 2012-09-17 13:36:39 -04:00
Pavel Krajcevski
7116cc8b89 Redid thread synchonization in order to be able to signal threads to run without having to initialize them again. We can use this to average the running times. 2012-09-15 12:13:32 -04:00
Pavel Krajcevski
e25e5bae90 Add flag to modify the number of compressions in order to take an average of the compression time. 2012-09-15 10:29:36 -04:00
Pavel Krajcevski
341842d725 Make sure to not even compile the definition for the SIMD function. 2012-09-13 17:43:58 -04:00
Pavel Krajcevski
47fbfa1615 Avoid SIMD functions if they're not defined. 2012-09-13 16:57:10 -04:00
Pavel Krajcevski
ba8ac8e292 Fix memory leak 2012-08-31 23:22:05 -04:00
Pavel Krajcevski
7b69c38da5 Switch OSX timer to real-time too. 2012-08-31 18:26:59 -04:00
Pavel Krajcevski
f2b9c39801 Change unix clock to realtime 2012-08-31 18:05:29 -04:00
Pavel Krajcevski
278a59e24a Now that we fixed sync issues, we should have better timings... 2012-08-31 17:45:55 -04:00
Pavel Krajcevski
44884a18b3 Add join synchronization. 2012-08-31 17:33:54 -04:00
Pavel Krajcevski
a6bbc3989f Implement threading capabilities. Still need better thread synchronization... 2012-08-31 14:58:51 -04:00
Pavel Krajcevski
fc4cf7758b Add ability to change quality of BPTC encoder. 2012-08-30 17:46:34 -04:00
Pavel Krajcevski
588f58b237 Fix stop watch for unix. 2012-08-30 17:13:36 -04:00
Pavel Krajcevski
70674e5665 Merge branch 'CommandLineTool' of git.cs.unc.edu:pavel/TexComp into CommandLineTool 2012-08-30 16:58:06 -04:00
Pavel Krajcevski
d8fc05a763 Fix timing functions for various platforms. 2012-08-30 16:56:42 -04:00
Pavel Krajcevski
720ad0ac6f Add stopwatch to both threaded and unthreaded paths. Still need to actually write unix stopwatch implementation. 2012-08-30 14:00:18 -04:00
Pavel Krajcevski
2ad2e94584 Move type defines into core library... all modules should have a standard set of types. 2012-08-30 13:28:28 -04:00
Pavel Krajcevski
1a0c3365da Remove old main.cpp and move stop watch to core library. 2012-08-30 11:59:08 -04:00
Pavel Krajcevski
11f3ec9c36 Add stdlib includes 2012-08-29 17:57:04 -04:00
Pavel Krajcevski
d102cbcda7 Add threading support in core lib via boost libraries. 2012-08-29 14:43:37 -04:00
Pavel Krajcevski
213d98f985 Finish the hooking up of the compression library to the core library 2012-08-28 19:42:28 -04:00
Pavel Krajcevski
9e625a4065 Start working on command line tool -- Currently just making sure that everything builds and links. Also rearranged some function definitions to better accomodate this. 2012-08-28 15:47:19 -04:00
Pavel Krajcevski
a076d1efb8 Fleshed out some more of the library 2012-08-27 18:34:37 -04:00
Pavel Krajcevski
39d7f2c942 Added files for core library. 2012-08-27 13:36:59 -04:00