A bill to require the Secretary of Energy to carry out a program of research and development to advance high-end computing.

SECTION 1. SHORT TITLE.

    This Act may be cited as the ``High-End Computing Revitalization 
Act of 2004''.

SEC. 2. FINDINGS.

    Congress finds that--
            (1) high-end computing is a critical component of the 
        scientific advances, defense capabilities, and commercial 
        competitiveness of the United States in the 21st century;
            (2) with the deployment of the Earth System Simulator in 
        Japan, the United States no longer has a clear lead in high-end 
        computing worldwide;
            (3)(A) promising new architectures should be developed that 
        increase memory and network bandwidth, minimize latency, and 
        coordinate the architectures' various components to maximize 
        application performance; and
            (B) it is recognized that different architectures may be 
        better suited to different applications;
            (4)(A) software that improves efficiency on and 
        accessibility to high-end systems should be developed; and
            (B) this development effort should include research in 
        optimal algorithms, programming environments, tools, languages, 
        and operating systems for high-end computing, in collaboration 
        with architecture development efforts;
            (5) without government support, market forces are unlikely 
        to drive sufficient innovation in high-end computing, because 
        the private sector would not capture the full value of its 
        innovations on a short enough time frame; and
            (6) having played an important role in the development of 
        high-end computing, networking, and information technology, the 
        Department of Energy, and the research programs of the Office 
        of Science of the Department, are particularly qualified to 
        lead research in those fields.

SEC. 3. DEFINITIONS.

    In this Act:
            (1) High-end computing system.--
                    (A) In general.--The term ``high-end computing 
                system'' means a computing system with performance that 
                substantially exceeds commonly available systems.
                    (B) Inclusions.--The term ``high-end computing 
                system'' includes a system described in subparagraph 
                (A) that is based on a variety of architectures, 
                including vector, reconfigurable logic, streaming, 
                processor-in-memory, and multithreading architectures.
            (2) Institution of higher education.--The term 
        ``institution of higher education'' has the meaning given the 
        term in section 101(a) of the Higher Education Act of 1965 (20 
        U.S.C. 1001(a)).
            (3) Secretary.--The term ``Secretary'' means the Secretary 
        of Energy, acting through the Director of the Office of Science 
        of the Department of Energy.
            (4) Ultrascale scientific computing capability.--The term 
        ``ultrascale scientific computing capability'' means a 
        computing capability supporting open scientific research in the 
        United States that is at least 100 times such computing 
        capability in existence on the date of enactment of this Act.

SEC. 4. HIGH-END COMPUTING SYSTEMS PROGRAM.

    (a) In General.--In addition to any other authority provided by 
law, the Secretary shall carry out a program of research and 
development (involving software and hardware) to advance high-end 
computing systems.
    (b) Duties.--In carrying out the program, the Secretary shall--
            (1) support both individual investigators and 
        multidisciplinary teams of investigators;
            (2) conduct research in multiple architectures, including 
        vector, reconfigurable logic, streaming, processor-in-memory, 
        and multithreading architectures;
            (3) conduct research in software development on optimal 
        algorithms, programming environments, tools, languages, and 
        operating systems for high-end computing systems, in 
        collaboration with architecture development efforts;
            (4) in accordance with subsection (c), develop, plan, 
        construct, acquire, or operate equipment or facilities for the 
        use of investigators conducting research and development on an 
        ultrascale scientific computing capability;
            (5) support technology transfer to the private sector and 
        others in accordance with applicable law; and
            (6) ensure that the program is coordinated with relevant 
        activities in industry and other Federal agencies, including 
        the National Nuclear Security Administration, the National 
        Science Foundation, the Defense Advanced Research Projects 
        Agency, and the National Security Agency.
    (c) Ultrascale Scientific Computing Capability.--
            (1) In general.--As part of the program carried out under 
        this Act, the Secretary shall develop, plan, construct, 
        acquire, or operate a coordinated set of facilities for 
        investigators to develop an ultrascale scientific computing 
        capability for--
                    (A) scientific research and development using high-
                end computing systems; and
                    (B) developing potential advancements in high-end 
                computing system architecture and software.
            (2) Administration.--In carrying out this subsection, the 
        Secretary shall--
                    (A) support multiple high-end computing system 
                architectures; and
                    (B) conduct research on the basis of proposals 
                (including proposals that are submitted by industry, 
                institutions of higher education, national 
                laboratories, or any Federal agency) for research on 
                problems that would particularly benefit from large 
                computing power, even as the reliability of new 
                hardware and software components are being evaluated.
    (d) High-End Software Development Center.--
            (1) In general.--As part of the program carried out under 
        this Act, the Secretary shall develop, plan, construct, 
        acquire, or operate at least 1 High-End Software Development 
        Center.
            (2) Duties.--A Center shall concentrate efforts to develop, 
        test, maintain, and support optimal algorithms, programming 
        environments, tools, languages, and operating systems for high-
        end computing systems.
            (3) Staff.--A Center shall include--
                    (A) a regular research staff, to create a 
                centralized knowledge-base for high-end software 
                development; and
                    (B) a rotating staff of researchers from other 
                institutions and industry to assist in the coordination 
                of research efforts and promote technology transfer to 
                the private sector.
            (4) Use of expertise.--The Secretary shall use the 
        expertise of a Center to assess research and development in 
        high-end computing system architecture.
            (5) Location.--The location of a Center shall be determined 
        by a competitive proposal process administered by the 
        Secretary.
    (e) Peer Review.--Each grant, contract, cooperative agreement, and 
financial assistance awarded under this section shall be made only 
after independent peer review.
    (f) Classified Research or Facilities.--No funds under this section 
may be used to directly support classified research or facilities.

SEC. 5. AUTHORIZATION OF APPROPRIATIONS.

    (a) In General.--In addition to amounts made available for high-end 
computing systems under other provisions of law, there are authorized 
to be appropriated to the Secretary to carry out this Act--
            (1) $150,000,000 for fiscal year 2005;
            (2) $155,000,000 for fiscal year 2006;
            (3) $160,000,000 for fiscal year 2007;
            (4) $165,000,000 for fiscal year 2008; and
            (5) $170,000,000 for fiscal year 2009.
    (b) Ultrascale Scientific Computing Capability.--Of the funds made 
available under subsection (a), $100,000,000 is authorized to be 
appropriated for each fiscal year to carry out section 4(c).
    (c) High-End Software Development Center.--Of the funds made 
available under subsection (a), $10,000,000 is authorized to be 
appropriated for each fiscal year to carry out section 4(d).

Summary: High-End Computing Revitalization Act of 2004 - Instructs the Secretary of Energy to implement a research and development program to advance high-end computing systems, including establishment of a coordinated set of facilities for investigators to develop ultrascale scientific computing capability for: (1) scientific research and development using high-end computing systems. And (2) development of potential advancements in high-end computing system architecture and software. Requires such program to include establishment of at least one High-End Software Development Center.