Randall (Randy) J. Fisher

Citizenship

U. S. A.

Contact Information

Education

Employment and Activities

Research

Book Chapters

  1. Dietz, H. G., W. R. Dieter, R. Fisher, and K. Chang, "Floating-Point Computation with Just Enough Accuracy," Chapter in Computational Science, edited by Vassil N. Alexandrov, Geert Dick van Albada, Peter M. A. Sloot, and Jack Dongarra, Springer Berlin/Heidelberg, Germany, 2006, pp. 226-233.
  2. Randall J. Fisher and Henry G. Dietz, "The Scc Compiler: SWARing at MMX and 3DNow!," Chapter in Languages and Compilers for Parallel Computing, edited by J. Ferrante and L. Carter, Springer-Verlag, New York, New York, 2000, pp. 399—414.
  3. Randall J. Fisher and Henry G. Dietz, "Compiling for SIMD Within A Register," Chapter in Languages and Compilers for Parallel Computing, edited by S. Chatterjee, J. F. Prins, L. Carter, J. Ferrante, Z. Li, D. Sehr, and P. -C. Yew, Springer-Verlag, New York, New York, 1999, pp. 290—304.

Fully-Reviewed Conference Proceedings

  1. Dietz, H. G., W. R. Dieter, R. Fisher, and K. Chang, "Floating-Point Computation with Just Enough Accuracy," Proceedings of the International Conference on Computational Science 2006, CD-ROM, Reading, U.K., May 29, 2006. (Revised version is book chapter [above].)

Fully-Reviewed Workshop Proceedings

  1. R. J. Fisher and H. G. Dietz, "The Scc Compiler: SWARing at MMX and 3DNow!," Proceedings of the 12th Workshop on Programming Languages and Compilers for Parallel Computing, Paper and Poster Abstracts, p. 32, La Jolla, California, August 1999. (Revised version is book chapter [above].)
  2. R. J. Fisher and H. G. Dietz, "Compiling for SIMD Within A Register," Proceedings of the 11th International Workshop on Languages and Compilers for Parallel Computing, pp. 297—311, Chapel Hill, North Carolina, August 1998. (Revised version is book chapter [above].)

Presentations at Technical and Professional Meetings

  1. R. J. Fisher, "SWARC: An Overview and Future Directions," invited presentation at the Center for Computing Services, Institute for Defense Analysis, Bowie, Maryland, September 26, 2008. (Updated version of [below].)
  2. R. J. Fisher, "SWARC: Overview and Future Directions," invited presentation at the Open Systems Lab Weekly Lunch Talk, Indiana University, Bloomington, Indiana, August 15, 2007.
  3. R. J. Fisher, "SWARC: SIMD Within A Register C —- An Introduction with Examples," invited presentation at the School of Engineering and Engineering Technology Seminar, The Pennsylvania State University, The Behrend College, Erie, Pennsylvania, March 31, 2000.
  4. R. J. Fisher, "SWARC: SIMD Within A Register C —- An Introduction with Examples," invited presentation at the School of Electrical Engineering and Computer Science Seminar, Ohio University, Athens, Ohio, March 29, 2000.
  5. R. J. Fisher, "SWARC: SIMD Within A Register C —- An Introduction with Examples," invited presentation at the Department of Computer Science Colloquium, Western Michigan University, Kalamazoo, Michigan, March 9, 2000.
  6. R. J. Fisher, "The Scc Compiler: SWARing at MMX and 3DNow!," invited presentation at the Twelfth Workshop on Programming Languages and Compilers for Parallel Computing, University of California at San Diego, La Jolla, California, August 1999.
  7. R. J. Fisher, Untitled, invited presentation at the Parallel Processing Seminar (PPSEM), Purdue University, West Lafayette, Indiana, September 23, 1998.
  8. R. J. Fisher, "Compiling for SIMD Within A Register," invited presentation at the Eleventh Workshop on Programming Languages and Compilers for Parallel Computing, University of North Carolina at Chapel Hill, Chapel Hill, North Carolina, August 1998.
  9. R. J. Fisher, "Issues in the Design of SWAR Programming Models," invited presentation at the Midwest Society for Programming Languages and Systems (MSPLS) Spring Meeting, Loyola University, Chicago, Illinois, May 16, 1998.
  10. R. J. Fisher, "General-Purpose SIMD Within A Register: Parallel Processing On Consumer Microprocessors," Ph.D. Thesis Proposal, Purdue University, West Lafayette, Indiana, November 12, 1997.

Conference Exhibits

  1. Exhibitor with The Aggregate Research Group, 2006—2012. (H. G. Dietz, PI). Live demonstrations of research involving the SWAR programming model, MIMD computation on SIMD hardware, and cluster computing.

    IEEE/ACM International Conference for High Performance Computing and Communications (SC12), Salt Lake City, Utah, November 2012.
    http://www.aggregate.org/EXHIBITS/SC12/.

    IEEE/ACM International Conference for High Performance Computing and Communications (SC11), Seattle, Washington, November 2011.
    http://www.aggregate.org/EXHIBITS/SC11/.

    IEEE/ACM International Conference for High Performance Computing and Communications (SC10), New Orleans, Louisiana, November 2010. http://www.aggregate.org/EXHIBITS/SC10/.

    IEEE/ACM International Conference for High Performance Computing and Communications (SC09), Portland, Oregon, November 2009.
    http://www.aggregate.org/EXHIBITS/SC09/.

    IEEE/ACM International Conference for High Performance Computing and Communications (SC08), Austin, Texas, November 2008.
    http://www.aggregate.org/EXHIBITS/SC08/.

    IEEE/ACM International Conference for High Performance Computing and Communications (SC2007), Reno, Nevada, November 2007.
    http://www.aggregate.org/EXHIBITS/SC07/.

    IEEE/ACM International Conference for High Performance Computing and Communications (SC2006), Tampa, Florida, November 2006.
    http://www.aggregate.org/EXHIBITS/SC06/.

  2. Exhibitor with The Aggregate Research Group/Penn State University, 2001, 2004. (H. G. Dietz, PI). Live demonstration of research involving the SWAR programming model.

    IEEE/ACM International Conference for High Performance Computing and Communications (SC2004), Pittsburgh, Pennsylvania, November 2004. http://www.aggregate.org/EXHIBITS/SC04/.

    IEEE/ACM International Conference for High Performance Computing and Communications (SC2001), Denver, Colorado, November 2001.
    http://www.aggregate.org/EXHIBITS/sc01.html. http://www.aggregate.org/EXHIBITS/sc01.html.

  3. Exhibitor with The Aggregate Research Group/Purdue University, 1995—1999. (H. G. Dietz, PI).

    Live demonstration of research involving the aggregate function model, PAPERS clusters including Xwindows-based and VGA-based video walls, and the integration of clusters.

    1999 IEEE/ACM Conference on Supercomputing (SC99), Portland, Oregon, November 1999. http://www.aggregate.org/EXHIBITS/sc99.html.

    1998 IEEE/ACM Conference on Supercomputing (SC98), Orlando, Florida, November 1998. http://www.aggregate.org/EXHIBITS/sc98.html.

    1997 IEEE/ACM Conference on Supercomputing (SC97), San Jose, California, November 1997. http://www.aggregate.org/EXHIBITS/sc97.html.

    1996 IEEE/ACM Conference on Supercomputing (SC96), Pittsburgh, Pennsylvania, November 1996. http://www.aggregate.org/EXHIBITS/sc96.html.

    1995 IEEE/ACM Conference on Supercomputing (SC95), San Diego, California, December 1995. http://www.aggregate.org/EXHIBITS/sc95.html.

  4. Technical Assistant for H. G. Dietz. Live demonstration of a 4-processor PAPERS clusters and a dual-processor SMP SHMAPERS (SHared Memory Adapter for Parallel Execution and Rapid Synchronization) machine. 25th International Conference on Parallel Processing (ICPP), Bloomington, Illinois, August 1996. Approximately 300 attendees.
    http://www.aggregate.org/EXHIBITS/icpp96.html.

Software Releases

  1. Scc
    http://aggregate.org/SWAR/Scc/index.html. Scc is an experimental optimizing compiler for the SWARC vector parallel programming language. It currently targets processors which support the MMX, Extended MMX, 3DNow!, Extended 3DNow!, AltiVec, and Streaming SIMD instruction sets and also targets with only standard 32-bit integer registers. Co-authored with Hank Dietz. Released in February 2000.
  2. pccts-1.33-rjf.tgz
    Released as part of the Scc compiler suite. This is a modified version of the official pccts-1.33 (Purdue Compiler Construction Tool Set) package for use with the Scc compiler sources. Original version by Terence Parr, Russel Quong, Will Cohen, and Hank Dietz. Released in February 2000.
  3. libXMMX
    http://www.ibiblio.org/pub/Linux/libs/libxmmx-990416.tgz. libXMMX provides a function-level C interface to the Cyrix Extended MMX instruction set via function calls and data type definitions. The library uses GNU assembly code. Released in March 1999.
  4. libSSE
    http://www.ibiblio.org/pub/Linux/libs/libsse-990416.tgz. The libSSE library provides a function-level C interface to the Intel Streaming SIMD instruction set via function calls and data type definitions. The library uses GNU assembly code. libSSE or its derivatives are used in a number of third-party libraries and applications. Released in February 1999.
  5. libMMX
    http://www.ibiblio.org/pub/Linux/libs/libmmx-990416.tgz. The libMMX library provides a function-level C interface to the AMD, Cyrix, and Intel MMX instruction set via function calls and data type definitions. The library uses GNU assembly code. libMMX or its derivatives are used in a number of third-party libraries and applications. Released in May 1998. Co-authored with Hank Dietz.
  6. AFAPI
    http://aggregate.org/AFAPI/AFAPI_19991222.tgz. Original coding of the configuration script and installation documentation for the Aggregate Function Application Program Interface (AFAPI). AFAPI is the primary software component of the PAPERS family of networks for high-performance supercomputing clusters. Co-authored with Tim Mattox. (AFAPI is primarily authored by Hank Dietz.) Originally released in July 1997.

Unreleased Software

  1. Randall Fisher, "SccAfapi," A preprocessor for converting a single-node SWARC source into a set of SWARC/AFAPI sources for use across the nodes of an AFAPI-based computational cluster. This combines the SWAR and Aggregate Function parallel processing models. July 2003.
  2. Randall Fisher, "Scpp," A preprocessor for the SWARC language intended for use with the Scc compiler. August 1999.
  3. Randall Fisher, "cloner," A utility to copy the disks of a fully configured computing node to an un-configured node and set unique parameters on the new node. This was used to ease the installation and upgrading of a PAPERS supercomputing cluster. October 1998. (This is not related to the Cloner prototyping environment for computer vision and image processing by L.H.Jamieson, et al.)
  4. Randall Fisher, "gutils," This is a collection of utilities used internally by the Purdue/PAPERS research group to manage groups of machines including supercomputing clusters. February 1998.
  5. Randall Fisher, "pct1," PCCTS (Purdue Compiler Construction Tool Set) binary and source packages for installation on a Slackware Linux system during setup. July 1997.

Technical Reports, Documentation, and Web Pages

  1. Randall Fisher, contributor, "Multilib," November 2012.
    https://wiki.archlinux.org/index.php/Multilib
  2. Randall Fisher, contributor, "First-sale doctrine," July 2012.
    https://en.wikipedia.org/wiki/First-sale_doctrine
  3. Randall Fisher, contributor, "SWAR," July 2012.
    https://en.wikipedia.org/wiki/SWAR
  4. Randall Fisher, contributor, "PCI Express," July 2012.
    https://en.wikipedia.org/wiki/PCI_Express
  5. Randall Fisher, contributor, "Use tax," April 2011.
    https://en.wikipedia.org/wiki/Use_tax
  6. H. G. Dietz and R. J. Fisher, "SWARC: SIMD Within A Register C," July 1998. http://aggregate.org/SWAR/Swarc/Scc.html
  7. Randall Fisher, "AFAPI Programmer's Manual Pages," September 1997.

Teaching

Courses Instructed

At the School of Engineering and Engineering Technology, the Behrend College, the Pennsylvania State University:

Courses Assisted

At the School of Electrical and Computer Engineering, Purdue University:

Teaching Materials

  1. Randall Fisher, "VLSI Design: CPU Modules and Function Units," April 2004.
  2. Randall Fisher, "Standard Cell Design with Magic," April 2003.
  3. Randall Fisher, "A Central Processing Unit," Design project for VLSI Design course, April 2002.
  4. Randall Fisher, "Introduction to Magic: Standard Cells," Design project for VLSI Design course, February 2002.
  5. Randall Fisher, "Introduction to SPICE," Design project for VLSI Design course, January 2002.
  6. Randall Fisher, "CENBD 431 VLSI Design Course Notes," January 2002.
  7. Randall Fisher, "Using Magic on eetpc20 from a Remote Location," April 2001.
  8. Randall Fisher, "Using IRSIM with MAGIC," April 2001.
  9. Randall Fisher, "Using SPICE with MAGIC," April 2001.
  10. Randall Fisher, "MAGIC Flowchart," April 2001.
  11. Randall Fisher, "CENBD 431 VLSI Design Study Guide," April 2001.
  12. Randall Fisher, "Design Project Using `magic': A Hierarchical Four-bit Register," Design project for VLSI Design course, April 2001.
  13. Randall Fisher, "Simulation of a DSSS CDMA System," Design project for Data Communications course, November 2003.
  14. Randall Fisher, "Simulation of a Simplex Stop-and-Wait Protocol with PAR," Design project for Data Communications course, October 2001.
  15. Randall Fisher, "Study Guide CENBD 455 Data Communications," December 2000.
  16. Randall Fisher, "A Simple WWW Client Using TCP," Design project for Data Communications course, November 2000.
  17. Randall Fisher, "A Simple WWW Server," Design project for Data Communications course, November 2000.
  18. Randall Fisher, "Data Link Layer protocol simulations," Design project for Data Communications course, October 2000.
  19. Randall Fisher, "Signal Catching," Design project for Operating Systems course, October 2004.
  20. Randall Fisher, "CENBD 463 Operating Systems Study Guide," December 2003.
  21. Randall Fisher, "Modifying the myos Scheduler," Design project for Operating Systems course, November 2001.
  22. Randall Fisher, "Parallel Sort," Design project for Operating Systems course, September 2000.
  23. Randall Fisher, "An Intermediate Representation," Design project supplement for Compiler Construction course, Updated MyC version. April 2004.
  24. Randall Fisher, "I Code for the Trees," MyC version. Design project supplement for Compiler Construction course, May 2003.
  25. Randall Fisher, "ir.c," MyC version. Design project for Compiler Construction course, April 2003.
  26. Randall Fisher, "MyC Symbol Table," MyC version. Design project for Compiler Construction course, March 2003.
  27. Randall Fisher, "MyC Recognizer," MyC version. Design project for Compiler Construction course, February 2003.
  28. Randall Fisher, "Lexical Acceptor," MyC version. Design project for Compiler Construction course, January 2003.
  29. Randall Fisher, "parser.c," SWARF version. Design project for Compiler Construction course, April 2002.
  30. Randall Fisher, "Recognizer and Symbol Table," SWARF version. Design project for Compiler Construction course, March 2002.
  31. Randall Fisher, "Lexical Acceptor," SWARF version. Design project for Compiler Construction course, February 2002.
  32. Randall Fisher, "codegen.c," NQC version. Design project for Compiler Construction course, April 2001.
  33. Randall Fisher, "Symbol Table," NQC version. Design project for Compiler Construction course, March 2001.
  34. Randall Fisher, "Lexical Acceptor," NQC version. Design project for Compiler Construction course, February 2001.
  35. Randall Fisher, "An Outline for a Heuristic Lexer," February 2001.
  36. Randall Fisher, "Constructing a Tabular Lexer," February 2001.
  37. Randall Fisher, "A SHORT Introduction to Child-Sibling Trees," 1998.
  38. Shouling He and Randall Fisher, "CSE 275 Digital Design Laboratory Manual," 2nd Edition, June 2004 (approximate).

Web Pages

  1. Randall J. Fisher, "An Introduction to UNIX and Programming Under UNIX," December 2001.
    http://aggregate.org/rfisher/Tutorials/Linux/Intro.html
    (No hit count available.)
  2. Randall J. Fisher, "A SHORT Introduction to Child-Sibling Trees," April 2001. http://aggregate.org/rfisher/Tutorials/CS-Trees/Index.html
    (180 hits between April 6, 2001 and May 4, 2005.)
  3. Randall J. Fisher, "An Introductory Tutorial on PCCTS," November 1997. http://aggregate.org/rfisher/Tutorials/PCCTS/Index.html
    (12,405 hits between February 1, 2000 and May 29, 2005. 43,078 hits across all pages in this tutorial over same period.)
  4. Randall J. Fisher, "Working with PCCTS Grammars," October 1997.
    http://aggregate.org/rfisher/Tutorials/Grammars/Index.html
    (2,253 hits between February 1, 2000 and May 29, 2005. 7,360 hits across all pages in this tutorial over same period.)
  5. Randall J. Fisher, "Hints About Compiling and Debugging C Programs," August 1997. http://aggregate.org/rfisher/Tutorials/CompilingC/Index.html
    (4,369 hits between February 1, 2000 and May 29, 2005. 11,551 hits across all pages in this tutorial over same period.)
  6. Randall J. Fisher, "Introduction to Building Your Own C Libraries," August 1997. http://aggregate.org/rfisher/Tutorials/Libs/Index.html
    (2,039 hits between February 1, 2000 and May 29, 2005. 8,156 hits across all pages in this tutorial over same period.)
  7. Randall J. Fisher, "An Introductory Tutorial on make," August 1997.
    http://aggregate.org/rfisher/Tutorials/Make/Index.html
    (14,051 hits between February 1, 2000 and May 29, 2005. 48,226 hits across all pages in this tutorial over same period.)

Unreleased Software

  1. Randall Fisher, "Mkbook," A utility for generating a xspread grading spreadsheet from a Penn State University class email list. September 2002.
  2. Randall Fisher, "Mag2fig," A utility for converting MAGIC VLSI Design files to Xfig format. This allows the manipulation of the design with LaTeX documents. February 2002.
  3. Randall Fisher, "Grading-Scripts," A collection of utilities used to automate the grading process for classes I have taught in the past. March 1998, updated as necessary.
  4. Randall Fisher, "hw-prep," A preprocessor that allows for conditional compilation of sections of LaTeX documents in a C programming language style. April 1997, updated as necessary.

Supervision of Undergraduate Theses

  1. Andrew Sobotka, "Improving the Back-end of the Scc SWARC Compiler," Honors Thesis, Schreyer Honors College, Pennsylvania State University, 2004—2005.

Supervision of Other Undergraduate Research

  1. Katrina Werger, "VLSI Routing Algorithms," VLSI Design Honors Project, Pennsylvania State University, The Behrend College, 2002
  2. Matthew Smith, "Ant Colony Optimization for a Steiner Problem in a Non-uniform Metric," VLSI Design Honors Project, Pennsylvania State University, The Behrend College, 2001

Supervision of Undergraduate Senior Projects

  1. Supervisor, Dale Lamb, Dantai Vilairoj, and John Ciccozzi, "Robotender for Handicapped Persons," Pennsylvania State University, 2004—2005.
  2. Supervisor, Jason Karns, Ben Hart, Scott Hrinko, and Dominick D'Aurora, "Water Treatment Plant Control System," Sponsored by Englehard Corporation Pennsylvania State University, 2004—2005.
  3. Supervisor, Jeff Betts, William Wykoff, Steven Haug, and Roger Grayson, "Purplaffability (The Vision Enhanced Car)," Pennsylvania State University, 2003—2004. This team advanced to the second round of the IEEE Computer Society's 5th Annual Design Competition (CSIDC 2004).
  4. Supervisor, Bryan Young, Luke Jesse, Mark Bristow, and Zach Ryan, "Head-up Display (HUD)," Pennsylvania State University, 2003—2004.
  5. Advisor, Nate Lewis, John Hunt II, and Thad Esak, "Intel Pro 1000XF Server Testing," Sponsored by Lockheed Martin, Pennsylvania State University, 2002—2003.
  6. Supervisor, Ronald Koss and Justin McBride, "Automonitor," Pennsylvania State University, 2002—2003.
  7. Advisor, Mark McClain, Matt McIntire, Jerod Svidunovich, and Brian Wheeler, "GETS Locomotive Health Tool," Sponsored by General Electric Transportation Systems, Pennsylvania State University, 2002—2003.
  8. Advisor, Steve Breski, Dave Cooper, Robyn Eaton, Keri Gilbert, and Wande Oladipo, "Measurement of Glass Thickness Using Charge Sensing," Sponsored by AGR International, Pennsylvania State University, 2001—2002.
  9. Supervisor, Jason Aurila, Mike Martin, and Dan Letizo, "Micro-controlled Ovenized Crystal Oscillator group (MCOXO)," Sponsored by Bliley Electric, Pennsylvania State University, 2000—2001.

Service

Professional Contributions

  1. Reviewer, World Automation Congress (WAC), 2008.
  2. Program Committee Member, 1st Workshop on Application-Oriented High-Performance Systems (AOHPS). Cancelled.
  3. Program Committee Member, International Conference on Parallel Processing (ICPP), 2005.

Academic Committee Work

  1. Academic Program Committee, Member 2003—2005, School of Engineering and Engineering Technology, The Behrend College, The Pennsylvania State University.
  2. Facilities Committee, Member 2002, School of Engineering and Engineering Technology, The Behrend College, The Pennsylvania State University.
  3. Software Engineering Faculty Search Committee, Member 2002, Department of Electrical and Computer Engineering, School of Engineering and Engineering Technology, The Behrend College, The Pennsylvania State University.
  4. Library Committee, Member 2001—2002, The Behrend College, The Pennsylvania State University.
  5. Computer Engineering Faculty Search Committee, Member 2001, Department of Electrical and Computer Engineering, School of Engineering and Engineering Technology, The Behrend College, The Pennsylvania State University.
  6. Software Engineering Faculty Search Committee, Member 2001, Department of Electrical and Computer Engineering, School of Engineering and Engineering Technology, The Behrend College, The Pennsylvania State University.

Curriculum Development

At the School of Engineering and Engineering Technology, the Behrend College, the Pennsylvania State University:

Other Academic Support

At the School of Engineering and Engineering Technology, the Behrend College, the Pennsylvania State University:

Professional Society Memberships