10. A method to apply annotations, the method comprising: receiving a first set of annotations that specify a hardware customization associated with data to be processed, wherein the specified hardware customization supports a quality of service level to process the data with a reduced energy expenditure, and wherein the quality of service level is different from the reduced energy expenditure; receiving a second set of annotations that specify a system software configuration associated with the data to be processed, wherein at least one of the first set of annotations or the second set of annotations comprises a dynamic annotation that changes as a code block associated with the dynamic annotation is executed; applying one or more annotations of the first set of annotations or the second set of annotations during an execution of the code block using the specified hardware customization from the received first set of annotations and the specified system software configuration from the received second set of annotations; and reducing energy expended to process the data through by use of the specified hardware customization and the specified system software configuration while maintaining the quality of service level, wherein the hardware customization is adaptive and wherein the system software configuration is associated with a data block, and wherein at least one of the one or more annotations specify how to process the data block when the code block is executed.
10. A method to apply annotations, the method comprising: receiving a first set of annotations that specify a hardware customization associated with data to be processed, wherein the specified hardware customization supports a quality of service level to process the data with a reduced energy expenditure, and wherein the quality of service level is different from the reduced energy expenditure; receiving a second set of annotations that specify a system software configuration associated with the data to be processed, wherein at least one of the first set of annotations or the second set of annotations comprises a dynamic annotation that changes as a code block associated with the dynamic annotation is executed; applying one or more annotations of the first set of annotations or the second set of annotations during an execution of the code block using the specified hardware customization from the received first set of annotations and the specified system software configuration from the received second set of annotations; and reducing energy expended to process the data through by use of the specified hardware customization and the specified system software configuration while maintaining the quality of service level, wherein the hardware customization is adaptive and wherein the system software configuration is associated with a data block, and wherein at least one of the one or more annotations specify how to process the data block when the code block is executed. 11. The method of claim 10 , further comprising supporting a user override of at least one of the received first and second sets of annotations.