Patents Assigned to Cray Inc.
  • Patent number: 7587305
    Abstract: A method includes specifying a first set of interconnected devices associated with a first leaf cell in Verilog syntax, and specifying a second set of interconnected devices associated with a second leaf cell in Verilog syntax. A connection between the first leaf cell and the second leaf cell is also specified in Verilog syntax. This specifies a circuit. The functionality of the logic can be tested by running a logic simulation on the circuit without converting to Verilog syntax. The Verilog syntax, associated with the circuit, can be converted directly from Verilog syntax to a SPICE netlist. The SPICE netlist can be used to simulate the timing and other parameters of the circuit. The Verilog syntax can be used to verify the circuit. Also included are a computer readable medium including an instruction set for the above method, and a data structure necessary to carry out the above method.
    Type: Grant
    Filed: June 26, 2002
    Date of Patent: September 8, 2009
    Assignee: Cray Inc.
    Inventors: Robert J. Lutz, Mark S. Birrittella, Eric C. Fromm, Harro Zimmermann
  • Patent number: 7584332
    Abstract: Embodiments of the present invention provide a class of computer architectures generally referred to as lightweight multi-threaded architectures (LIMA). Other embodiments may be described and claimed.
    Type: Grant
    Filed: February 15, 2007
    Date of Patent: September 1, 2009
    Assignees: University of Notre Dame du Lac, Cray, Inc.
    Inventors: Peter M. Kogge, Jay B. Brockman, David Tennyson Harper, III, Burton Smith, Charles David Callahan, II
  • Patent number: 7577816
    Abstract: The present invention provides a method of initializing shared memory in a multinode system. The method includes building a local address space in each of a plurality of nodes and exporting the local address space from each of the plurality of nodes to a Remote Translation Table (RTT) in each of the plurality of nodes. The present invention further provides system including a plurality of nodes, each node having one or more processors and a memory controller operatively coupled to the one or more processors, wherein the memory controller includes a RTT for holding translation information for an entire virtual memory address space for the node, further wherein the RTT is initialized upon the start of a process by building a local address space in the node, and exporting the local address space from the node to a RTT in each of the plurality of other nodes.
    Type: Grant
    Filed: August 18, 2003
    Date of Patent: August 18, 2009
    Assignee: Cray Inc.
    Inventors: Kitrick Sheets, Andrew B. Hastings
  • Patent number: 7565593
    Abstract: A memory controller and method that provide a read-refresh (also called “distributed-refresh”) mode of operation, in which every row of memory is read within the refresh-rate requirements of the memory parts, with data from different columns within the rows being read on subsequent read-refresh cycles until all rows for each and every column address have been read, scrubbing errors if found, thus providing a scrubbing function that is integrated into the read-refresh operation, rather than being an independent operation. For scrubbing, an atomic read-correct-write operation is scheduled. A variable-priority, variable-timing refresh interval is described. An integrated card self-tester and/or card reciprocal-tester is described. A memory bit-swapping-within-address-range circuit, and a method and apparatus for bit swapping on the fly and testing are described.
    Type: Grant
    Filed: November 10, 2006
    Date of Patent: July 21, 2009
    Assignee: Cray Inc.
    Inventors: R. Paul Dixon, David R. Resnick, Van L. Snyder
  • Patent number: 7558889
    Abstract: Various techniques for manipulating data using access states of memory, access control fields of pointers and operations, and exception raising and exception trapping in a multithreaded computer system. In particular, the techniques include synchronization support for a thread blocked in a word, demand evalution of values, parallel access of multiple threads to a list, synchronized and unsynchronized access to a data buffer, use of fowarding to avoid checking for an end of a buffer, use of sentinel work to detect access past a data structure, concurrent access to a word of memory using different synchronization access modes, and use of trapping to detect access to restricted memory.
    Type: Grant
    Filed: October 30, 2003
    Date of Patent: July 7, 2009
    Assignee: Cray Inc.
    Inventors: Gail A. Alverson, Charles David Callahan, II, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith
  • Patent number: 7558910
    Abstract: Various techniques for manipulating data using access states of memory, access control fields of pointers and operations, and exception raising and exception trapping in a multithreaded computer system. In particular, the techniques include synchronization support for a thread blocked in a word, demand evaluation of values, parallel access of multiple threads to a list, synchronized and unsynchronized access to a data buffer, use of forwarding to avoid checking for an end of a buffer, use of sentinel word to detect access past a data structure, concurrent access to a word of memory using different synchronization access modes, and use of trapping to detect access to restricted memory.
    Type: Grant
    Filed: October 30, 2003
    Date of Patent: July 7, 2009
    Assignee: Cray Inc.
    Inventors: Gail A. Alverson, Charles David Callahan, II, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith
  • Patent number: 7543133
    Abstract: A computer system having low memory access latency. In one embodiment, the computer system includes a network and one or more processing nodes connected via the network, wherein each processing node includes a plurality of processors and a shared memory connected to each of the processors. The shared memory includes a cache. Each processor includes a scalar processing unit, a vector processing unit and means for operating the scalar processing unit independently of the vector processing unit. Processors on one node can load data directly from and store data directly to shared memory on another processing node via the network.
    Type: Grant
    Filed: August 18, 2003
    Date of Patent: June 2, 2009
    Assignee: Cray Inc.
    Inventor: Steven L. Scott
  • Patent number: 7533460
    Abstract: Systems and methods for operatively connecting processor banks in large computer systems are disclosed herein. In one embodiment, a computer system includes a first bank of processors, a second bank of processors spaced apart from the first bank of processors, and a connector assembly configured to operatively connect at least a portion of the first bank of processors to at least a portion of the second bank of processors. The connector assembly can include a first connector unit having a plurality of first connector sets and a second connector unit having a plurality of corresponding second connector sets. At least one of the first and second connector units is movable relative to the other one of the first and second connector units to at least approximately concurrently engage the plurality of first connector sets with the plurality of corresponding second connector sets.
    Type: Grant
    Filed: December 21, 2005
    Date of Patent: May 19, 2009
    Assignee: Cray Inc.
    Inventors: Wade J. Doll, Douglas P. Kelley
  • Patent number: 7536690
    Abstract: A method and system that prepares a task for being swapped out from processor utilization that is executing on a computer with multiple processors that each support multiple streams. The task has one or more teams of threads, where each team represents threads executing on a single processor. The task designates, for each stream that is executing a thread, one stream as a team master stream and one stream as a task master stream. For each team master stream, the task notifies the operating system that the team is ready to be swapped out when each other thread of the team has saved its state and has quit its stream. Finally, for the task master stream, the task notifies the operating system that the task is ready to be swapped when it has saved its state and each other team has notified that it is ready to be swapped out.
    Type: Grant
    Filed: September 16, 2003
    Date of Patent: May 19, 2009
    Assignee: Cray Inc.
    Inventors: Gail A. Alverson, Charles David Callahan, II, Susan L. Coatney, Brian D. Koblenz, Richard D. Korry, Burton J. Smith
  • Patent number: 7519771
    Abstract: A novel system and method for processing memory instructions. One embodiment of the invention provides a method for processing a memory instruction. In this embodiment, the method includes obtaining a memory request; storing the memory request in an Initial Request Queue (IRQ); and processing the memory request from the IRQ by a cache controller, wherein processing includes: identifying a type of the memory request, and processing the memory request in both a local cache and an Force Order Queue (FOQ), wherein processing includes determining if a portion of an address associated with the memory request matches one or more partial addresses in the FOQ and, if the memory request misses in the cache and the address does not match one or more partial addresses in the FOQ, adding the memory request to the FOQ and allocating a cache line in the local cache corresponding to the local cache miss.
    Type: Grant
    Filed: August 18, 2003
    Date of Patent: April 14, 2009
    Assignee: Cray Inc.
    Inventors: Gregory J. Faanes, Eric P. Lundberg, Steven L. Scott, Robert J. Baird
  • Publication number: 20090041049
    Abstract: In a system having a N output ports, wherein N is an integer greater than one, a method of distributing packets across the plurality of output ports. A packet having two or more fields is received and a first number is computed as a function of one or more of the plurality of fields. A second number is computed that is modulo base N of the first number and an output port is selected as a function of the second number.
    Type: Application
    Filed: April 21, 2008
    Publication date: February 12, 2009
    Applicant: Cray Inc.
    Inventors: Steven L. Scott, Dennis C. Abts, William J. Dally
  • Publication number: 20090028172
    Abstract: A system and method for speculative forwarding of packets received by a router, wherein each packet includes phits and wherein one or more phits include a cyclic redundancy code (CRC). A packet is received and phits of the packet are forwarded to router logic. A cyclic redundancy code for the packet is calculated and compared to the packet's cyclic redundancy code. An error is generated if the cyclic redundancy codes don't match. If the cyclic redundancy codes don't match, a phit of the packet is modified to reflect the error, the CRC is corrected and the corrected CRC is forwarded to the router logic along with the phit reflecting the CRC error. At the router logic, a check is made to see if the packet is still within the router logic. If the packet is still within the router logic and there was a CRC error, the packet is discarded. If, however, the packet is no longer within the router logic and there was a CRC error, the packet is modified so that the next router discards the packet.
    Type: Application
    Filed: April 21, 2008
    Publication date: January 29, 2009
    Applicant: Cray Inc.
    Inventors: Steven L. Scott, Gregory Hubbard, Kelly Marquardt, Roger A. Bethard, Dennis C. Abts
  • Patent number: 7478769
    Abstract: A spray cooling system includes a spray delivery device and a cooling liquid delivered to the spray delivery device. The spray delivery device includes one or more inlet apertures and one or more corresponding outlet apertures, at least one pair of inlet aperture and corresponding outlet aperture being positioned relative to each so as to form an asymmetric non-uniform density full-cone spray pattern.
    Type: Grant
    Filed: March 9, 2005
    Date of Patent: January 20, 2009
    Assignee: Cray Inc.
    Inventors: Gregory W. Pautsch, Adam Pautsch
  • Publication number: 20080313621
    Abstract: This document discusses, among other things, a system and method computing the shortest path expression in a loop having a plurality of expressions. Candidate expressions in the loop are identified and partitioned into sets. A cost matrix is computed as a function of the sets. Paths are found through the cost matrix and, if there are cycles in the paths, the cycles are broken. One or more shortest path expressions are generated as a function of the paths and one or more of the expressions in the loop are replaced with the shortest path expressions.
    Type: Application
    Filed: June 15, 2007
    Publication date: December 18, 2008
    Applicant: Cray Inc.
    Inventor: James C. Beyer
  • Publication number: 20080285598
    Abstract: An apparatus comprising a first multiplexer circuit (MUX) to receive a plurality of clock phase signals at a corresponding plurality of MUX inputs and to output a first clock signal and a second clock signal that are out of phase with each other, a phase delay circuit to receive the output of the first MUX and to generate adjusted first and second clock signals that have reduced phase error with respect to detected edges of incoming data, an output MUX to receive the adjusted first and second clock signals and to output a recovered clock signal, and a control circuit coupled to output MUX select inputs. The control circuit includes logic circuitry to select the first adjusted clock signal as the recovered clock signal and to select the second adjusted clock signal as the recovered clock signal when the first adjusted clock signal nears a phase limit due to drift of the detected data edges. Other devices and methods are disclosed.
    Type: Application
    Filed: May 14, 2007
    Publication date: November 20, 2008
    Applicant: Cray Inc
    Inventors: Raymond J. Farbarik, Michael Steinberger
  • Publication number: 20080285562
    Abstract: A system and method for routing in a high-radix network. A packet is received and examined to determine if the packet can be routed adaptively. If the packet can be routed adaptively, the packet is routed adaptively, wherein routing adaptively includes selecting a column, computing a column mask, routing the packet to the column; and selecting an output port as a function of the column mask. If the packet can be routed deterministically, routing deterministically, wherein routing deterministically includes accessing a routing table to obtain an output port and routing the packet to the output port from the routing table.
    Type: Application
    Filed: April 21, 2008
    Publication date: November 20, 2008
    Applicant: Cray Inc.
    Inventors: Steven L. Scott, Gregory Hubbard, Dennis C. Abts
  • Publication number: 20080266807
    Abstract: An example electronic assembly includes a substrate that has a first surface and a second surface. The first surface of the substrate includes a grounding ring. The electronic assembly further includes one or more electronic components that are mounted on the first surface of the substrate such that the grounding ring at least partially surrounds the electronic components(s). A heat sink engages the electronic component(s) and the grounding ring in order provide cooling and EMI shielding to the electronic components(s). In some embodiments, the grounding ring surrounds the entire electronic components(s) and the heat sink engages the entire grounding ring, although in other embodiments, the grounding ring may partially surround the electronic components(s) and/or the heat sink may engage just a portion of the grounding ring.
    Type: Application
    Filed: April 27, 2007
    Publication date: October 30, 2008
    Applicant: Cray Inc.
    Inventors: Eric D. Lakin, Paul Bonstrom
  • Patent number: 7437521
    Abstract: A method and apparatus to provide specifiable ordering between and among vector and scalar operations within a single streaming processor (SSP) via a local synchronization (Lsync) instruction that operates within a relaxed memory consistency model. Various aspects of that relaxed memory consistency model are described. Further, a combined memory synchronization and barrier synchronization (Msync) for a multistreaming processor (MSP) system is described. Also, a global synchronization (Gsync) instruction provides synchronization even outside a single MSP system is described. Advantageously, the pipeline or queue of pending memory requests does not need to be drained before the synchronization operation, nor is it required to refrain from determining addresses for and inserting subsequent memory accesses into the pipeline.
    Type: Grant
    Filed: August 18, 2003
    Date of Patent: October 14, 2008
    Assignee: Cray Inc.
    Inventors: Steven L. Scott, Gregory J. Faanes, Brick Stephenson, William T. Moore, Jr., James R. Kohn
  • Patent number: 7428727
    Abstract: A system for debugging targets using various techniques, some of which are particularly useful in a multithread environment. These techniques include implementing breakpoints using out-of-line instruction emulation so that an instruction replaced with a breakpoint instruction does not need to be returned to its original location for single-step execution, executing a debugger nub for each target as part of the target task but using a nub task thread for the nub execution that is separate from the target task threads, providing immunity from breakpoints for specified threads such as the nub thread via specialized breakpoint handlers used by those threads, and virtualizing the debugger nub such that a shared root nub provides a uniform interface between the debugger and the target while specialized nubs provide differing functionality based on the type of target being debugged.
    Type: Grant
    Filed: September 9, 2004
    Date of Patent: September 23, 2008
    Assignee: Cray Inc.
    Inventors: Gail A. Alverson, Burton J. Smith, Laurence S. Kaplan, Mark L. Niehaus
  • Patent number: 7426732
    Abstract: A method and system that prepares a task for being swapped out from processor utilization that is executing on a computer with multiple processors that each support multiple streams. The task has one or more teams of threads, where each team represents threads executing on a single processor. The task designates, for each stream that is executing a thread, one stream as a team master stream and one stream as a task master stream. For each team master stream, the task notifies the operating system that the team is ready to be swapped out when each other thread of the team has saved its state and has quit its stream. Finally, for the task master stream, the task notifies the operating system that the task is ready to be swapped when it has saved its state and each other team has notified that it is ready to be swapped out.
    Type: Grant
    Filed: October 10, 2003
    Date of Patent: September 16, 2008
    Assignee: Cray Inc.
    Inventors: Gail A. Alverson, Charles David Callahan, II, Susan L. Coatney, Brian D. Koblenz, Richard D. Korry, Burton J. Smith