1. A method of treating floors comprising:
a) applying an antimicrobial resistant floor finish composition comprising a polyol-isocyanate crosslinkable polyurethane floor finish composition to a floor;
b) applying a quaternary ammonium compound antimicrobial composition to a mop head, wherein the quaternary ammonium compound is present in an amount greater than necessary to disinfect Pseudomonas aeruginosa according to the AOAC Use Dilution test method; and
c) transferring the quaternary ammonium compound composition from the mop head to the floor on a repeated daily basis, wherein at least enough quaternary ammonium compound needed to disinfect Pseudomonas aeruginosa according to the AOAC Use Dilution test method is transferred to the floor without substantially degrading the floor finish.
2. The method of claim 1, wherein the floor finish is resistant to quaternary ammonium compound.
3. The method of claim 1, wherein the floor finish is resistant to Glucoprotamin-based compositions.
4. The method of claim 1, wherein the floor finish is resistant to alcohol-based compositions.
5. The method of claim 2, wherein the floor finish is further resistant to alcohol-based compositions.
6. The method of claim 3, wherein the floor finish is further resistant to alcohol-based compositions.
7. The method of claim 1, wherein the floor finish composition comprises a single floor finish.
8. The method of claim 1, wherein the floor finish composition comprises multiple floor finishes.
9. The method of claim 1, wherein the step of applying the floor finish composition comprises applying a single layer of a floor finish composition.
10. The method of claim 1, wherein the step of applying the floor finish composition comprises applying multiple layers of a floor finish composition.
11. The method of claim 10, wherein the floor finish composition applied in each layer is the same.
12. The method of claim 10, wherein the floor finish composition applied in at least one layer is different than the floor finish composition applied in another layer.
13. The method of claim 12, wherein at least the top most layer comprises the antimicrobial resistant floor finish composition.
14. The method of claim 1, wherein the amount of quaternary ammonium compound applied to the mop head is at least about 1.5 times the amount necessary to disinfect Pseudomonas aeruginosa according to the AOAC Use Dilution test method.
15. The method of claim 1, wherein the amount of quaternary ammonium compound applied to the mop head is at least about two times the amount necessary to disinfect Pseudomonas aeruginosa according to the AOAC Use Dilution test method.
16. The method of claim 1, wherein the mop head is a flat mop made of microfiber.
17. The method of claim 1, wherein the floor is located in a patient care location.
18. The method of claim 17, wherein the patient care location is a hospital, nursing home, surgical center, veterinary facility, dentist office, eye care office, clinic, long term care facility, or daycare.
19. A method of treating floors comprising:
a) applying an antimicrobial resistant floor finish composition comprising a floor finish cross linked with aziridine to a floor;
b) applying a quaternary ammonium compound antimicrobial composition to a mop head, wherein the quaternary ammonium compound is present in an amount greater than necessary to disinfect Pseudomonas aeruginosa according to the AOAC Use Dilution test method; and
c) transferring the quaternary ammonium compound composition from the mop head to the floor on a repeated daily basis, wherein at least enough quaternary ammonium compound needed to disinfect Pseudomonas aeruginosa according to the AOAC Use Dilution test method is transferred to the floor without substantially degrading the floor finish.
20. The method of claim 19, wherein the floor finish is selected from the group consisting of an acrylic floor finish, a zinc cross linked acrylic floor finish and mixtures thereof.
21. The method of claim 20, wherein the floor finish is resistant to an antimicrobial selected from the group consisting of a quaternary ammonium compound, Glucoprotamin-based compositions, alcohol-based compositions, and mixtures thereof.
22. The method of claim 19, wherein the amount of quaternary ammonium compound applied to the mop head is at least about 1.5 times the amount necessary to disinfect Pseudomonas aeruginosa according to the AOAC Use Dilution test method.
23. A method of treating floors comprising:
a) applying an antimicrobial resistant floor finish composition comprising a zinc free acrylic floor finish to a floor;
b) applying a quaternary ammonium compound antimicrobial composition to a mop head, wherein the quaternary ammonium compound is present in an amount greater than necessary to disinfect Pseudomonas aeruginosa according to the AOAC Use Dilution test method; and
c) transferring the quaternary ammonium compound composition from the mop head to the floor on a repeated daily basis, wherein at least enough quaternary ammonium compound needed to disinfect Pseudomonas aeruginosa according to the AOAC Use Dilution test method is transferred to the floor without substantially degrading the floor finish.
24. The method of claim 23, wherein the floor finish is resistant to an antimicrobial selected from the group consisting of a quaternary ammonium compound, Glucoprotamin-based compositions, alcohol-based compositions, and mixtures thereof.
25. The method of claim 23, wherein the amount of quaternary ammonium compound applied to the mop head is at least about 1.5 times the amount necessary to disinfect Pseudomonas aeruginosa according to the AOAC Use Dilution test method.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method comprising:
identifying a loop for speculative parallelization based on control and data dependence information;
generating one or more speculation guards to preserve speculation information, corresponding to the loop, in response to a determination that the loop is to be parallelized;
determining mis-speculation information for both control and data speculation based on execution of an inspection code, wherein the inspection code is to be generated based on the one or more speculation guards; and
generating one or more split loops, corresponding to the loop, based on the mis-speculation information.
2. The method of claim 1, further comprising analyzing optimization information to generate control and data dependence information.
3. The method of claim 2, wherein the optimization information is to comprise one or more of heuristics or profiling information.
4. The method of claim 1, further comprising determining whether to parallelize the loop, wherein determining whether to parallelize the loop is based on a determination of whether parallelizing the loop is to result in speed up.
5. The method of claim 1, further comprising generating a placeholder for the loop.
6. The method of claim 5, further comprising updating a control and data dependence graph corresponding of the placeholder.
7. The method of claim 6, wherein updating the control and data dependence graph is to comprise eliminating one or more highly unlikely taken branches and ignoring low probability data dependence.
8. The method of claim 1, further comprising applying analyses and transformations at a later phase of a compiler without change to accommodate the speculation information based on the one or more speculation guards, wherein the one or more speculation guards are to be generated at an earlier phase of the compiler.
9. The method of claim 1, further comprising generating the inspection code based on the one or more speculation guards.
10. The method of claim 1, wherein the one or more split loops are to comprise one or more of disjoint index set, fewer branches, or fewer loop carried dependences when compared to the loop.
11. A method comprising:
storing in an index array a set of indices for which an if-condition of a loop is always true for only one iteration set; and
generating a plurality of subloops from the loop based on the index array, wherein the index array is to cause breaking of one or more control flow and data flow dependencies in the loop.
12. The method of claim 11, further comprising reordering the plurality of the subloops based on the index array.
13. The method of claim 11, wherein the index array is to comprise a subset of an iteration space of the loop constructed by selecting an iteration set in response to a flow or anti-flow dependency edge in the loop existing for only one iteration set.
14. The method of claim 11, wherein generating the plurality of subloops is to be performed in response to a determination that an if-condition with a single branch, such that a predicate of the if-condition depends on a loop index variable, being responsible for the one or more control flow dependences.
15. The method of claim 11, further comprising generating a subloop based on the loop by replacing one or more occurrences of an index variable by a corresponding index array element.
16. The method of claim 11, further comprising generating two pre-computation loops for construction of the index array.
17. The method of claim 11, further comprising converting the loop into a two-level loop nest.
18. A computer-readable medium comprising one or more instructions that when executed on a processor configure the processor to perform one or more operations to:
identify a loop for speculative parallelization based on control and data dependence information;
generate one or more speculation guards to preserve speculation information, corresponding to the loop, in response to a determination that the loop is to be parallelized;
determine mis-speculation information for both control and data speculation based on execution of an inspection code, wherein the inspection code is to be generated based on the one or more speculation guards; and
generate one or more split loops, corresponding to the loop, based on the mis-speculation information.
19. The computer-readable medium of claim 18, further comprising one or more instructions that when executed on a processor configure the processor to perform one or more operations to analyze optimization information to generate control and data dependence information.
20. The computer-readable medium of claim 18, further comprising one or more instructions that when executed on a processor configure the processor to perform one or more operations to determine whether to parallelize the loop based on a determination of whether parallelizing the loop is to result in speed up.
21. The computer-readable medium of claim 18, further comprising one or more instructions that when executed on a processor configure the processor to perform one or more operations to generate a placeholder for the loop.
22. The computer-readable medium of claim 18, further comprising one or more instructions that when executed on a processor configure the processor to perform one or more operations to update a control and data dependence graph corresponding of the placeholder.
23. The computer-readable medium of claim 18, further comprising one or more instructions that when executed on a processor configure the processor to perform one or more operations to apply analyses and transformations at a later phase of a compiler without change to accommodate the speculation information based on the one or more speculation guards, wherein the one or more speculation guards are to be generated at an earlier phase of the compiler.
24. The computer-readable medium of claim 18, further comprising one or more instructions that when executed on a processor configure the processor to perform one or more operations to generate the inspection code based on the one or more speculation guards.
25. A computer-readable medium comprising one or more instructions that when executed on a processor configure the processor to perform one or more operations to:
store in an index array a set of indices for which an if-condition of a loop is always true for only one iteration set; and
generate a plurality of subloops from the loop based on the index array, wherein the index array is to cause breaking of one or more control flow and data flow dependencies in the loop.
26. The computer-readable medium of claim 25, further comprising one or more instructions that when executed on a processor configure the processor to perform one or more operations to reorder the plurality of the subloops based on the index array.
27. The computer-readable medium of claim 25, wherein the index array is to comprise a subset of an iteration space of the loop constructed by selecting an iteration set in response to a flow or anti-flow dependency edge in the loop existing for only one iteration set.
28. The computer-readable medium of claim 25, further comprising one or more instructions that when executed on a processor configure the processor to perform one or more operations to generate a subloop based on the loop by replacing one or more occurrences of an index variable by a corresponding index array element.
29. The computer-readable medium of claim 25, further comprising one or more instructions that when executed on a processor configure the processor to perform one or more operations to generate two pre-computation loops for construction of the index array.
30. The computer-readable medium of claim 25, further comprising one or more instructions that when executed on a processor configure the processor to perform one or more operations to convert the loop into a two-level loop nest.