Here is a patent (US10255656B2) that claims an apparatus with specific functionality. I would like to focus on the first claim for now:
A multiprocessor comprising:
a register file to store operands; and
a plurality of processing cores, each core having execution logic to perform mixed precision multi-dimensional matrix fused multiply-accumulate (FMAC) operations, the execution logic to execute one or more instructions to:
multiply a first 16-bit floating point (FP16) operand with a second FP16 operand to obtain a first 32-bit floating point (FP32) intermediate product;
multiply a third FP16 operand with a fourth FP16 operand to obtain a second FP32 intermediate product; and
add the second FP32 intermediate product with the first FP32 intermediate product to generate a FP32 sum result.
It is specified that each core of the apparatus (microprocessor) has logic to perform the specific operations. Do I infringe the first claim if I perform the same operations on some other device from other manufacturer by implementing the operations in a programming language? What if my PC contains also those hardware elements? Steps and results of the operations would be the same.
Next, there is the second independent claim:
A method to facilitate execution of mixed precision multi-dimensional matrix fused multiply-accumulate (FMAC) operations comprising:
receiving a first 16-bit floating point (FP16) operand and a second FP16 operand at one or more processing cores;
multiplying the first FP16 operand with the second FP16 operand to obtain a first 32-bit floating point (FP32) intermediate product;
multiplying a third FP16 operand with a fourth FP16 operand to obtain a second FP32 intermediate product; and
adding the second FP32 intermediate product with the first FP32 intermediate product to generate a FP32 sum result.
If I want to perform such operations by implementing the operations in a programming language, will I infringe the second claim? I am asking this because of the "receiving" part of the method. My software implementation surely wouldn't have that part included but I am concerned with the "receiving" part might be included on a hardware level of my implementation. Would I be liable for the infringement then?
Note that when I say operations I mean exactly to multiplication and addition parts of the claims.